CoderKo1o
V2EX  ›  分享创造

一款综合( QQ 音乐、微信、美团、优酷、虎牙直播等多款 app)风格的搜索控制器

By CoderKo1o at 2016 年 10 月 31 日 · 3841 次点击

PYSearch

GitHub 地址:https://github.com/iphone5solo/PYSearch

  • An elegant search controller for iOS.
  • iOS 中一款优雅的搜索控制器。

Features

  • 支持多种热门搜索风格
  • 支持多种搜索历史风格
  • 支持搜索建议
  • 支持搜索历史(记录)缓存
  • 支持使用 delegate 或者 block 完成搜索时的回调
  • 支持 CocoaPods

Requirements

  • iOS 7.0 or later
  • Xcode 7.0 or later

Architecture

Main

  • PYSearch
  • PYSearchConst
  • PYSearchViewController
  • PYSearchSuggestionViewController

Category

  • UIColor+PYExtension
  • UIView+PYExtension

效果图

(img)

支持哪些风格

热门搜索风格

(img) (img) (img) (img) (img) (img)

搜索历史风格

(img) (img) (img) (img) (img)

如何使用 PYSearch

  • 使用 CocoaPods:
    • pod "PYSearch"
    • 导入主头文件#import <PYSearch.h>
  • 手动导入:
    • 将PYSearch文件夹中的所有文件拽入项目中
    • 导入主头文件#import "PYSearch.h"

具体使用(详情见示例程序 PYSearchExample )

    // 1. 创建热门搜索数组
    NSArray *hotSeaches = @[@"Java", @"Python", @"Objective-C", @"Swift", @"C", @"C++", @"PHP", @"C#", @"Perl", @"Go", @"JavaScript", @"R", @"Ruby", @"MATLAB"];
    // 2. 创建搜索控制器
    PYSearchViewController *searchViewController = [PYSearchViewController searchViewControllerWithHotSearches:hotSeaches searchBarPlaceholder:@"搜索编程语言" didSearchBlock:^(PYSearchViewController *searchViewController, UISearchBar *searchBar, NSString *searchText) {
        // 开始(点击)搜索时执行以下代码
        // 如:设置搜索结果控制器标题
		searchViewController.searchResultController.title = @"PYSearchResultController";
    }];
    // 3. 跳转到搜索控制器
    UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:searchViewController];
    [self presentViewController:nav  animated:NO completion:nil];

自定义 PYSearch

通过设置 searchViewContoller 的对象属性值即可修改

  • 设置热门搜索风格(默认为 PYHotSearchStyleNormalTag )
  // 设置热门搜索为彩色标签风格
  searchViewController.hotSearchStyle = PYHotSearchStyleColorfulTag;
  • 设置搜索历史风格(默认为 PYSearchHistoryStyleCell )
  // 设置搜索历史为带边框标签风格
  searchViewController.searchHistoryStyle = PYSearchHistoryStyleBorderTag;
  • 设置搜索结果显示模式(默认为 PYSearchResultShowModePush )
  // 设置搜索模式为内嵌
  searchViewController.searchResultShowMode = PYSearchResultShowModeEmbed;
  • 隐藏搜索建议(默认为: NO )
  // 隐藏搜索建议
  searchViewController.searchSuggestionHidden = YES;

期待

  • 如果您在使用过程中有任何问题,欢迎 issue me! 很乐意为您解答任何相关问题!
  • 与其给我点 star ,不如向我狠狠地抛来一个 BUG !
  • 如果想要参与这个项目的维护或者有好的设计风格,欢迎 pull request !
  • 如果您想要更多的接口来自定义或者建议 /意见,欢迎 issue me !我会根据大家的需求提供更多的接口!

Licenses

All source code is licensed under the MIT License.

3 条回复  •  2016-11-07 15:37:16 +08:00
mzh
   1
mzh  
   2016 年 10 月 31 日 via iPhone
很全面…
itqls
   2
itqls  
   2016 年 10 月 31 日
mark
chenyg32
   3
chenyg32  
   2016 年 11 月 7 日
不错不错 赞一个。命名也不错, PY
爱意满满的作品展示区。
© 2026 V2EX · 37ms · 3.9.8.5