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

iOS · iphone5solo · Created at · Last by iphone5solo Replied at · 2205 hits
1619

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 8.0 or later

效果图

支持哪些风格

热门搜索风格

(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.navigationController pushViewController:[[UIViewController alloc] init] animated:YES];
    }];
    // 3. 跳转到搜索控制器
    UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:searchViewController];
    [self presentViewController:nav  animated:NO completion:nil];

自定义PYSearch

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

  • 设置热门搜索风格(默认为PYHotSearchStyleNormalTag)
    // 设置热门搜索为彩色标签风格
    searchViewController.hotSearchStyle = PYHotSearchStyleColorfulTag;
  • 设置搜索历史风格(默认为PYSearchHistoryStyleCell)
    // 设置搜索历史为带边框标签风格
    searchViewController.searchHistoryStyle = PYSearchHistoryStyleBorderTag;
  • 隐藏搜索建议(默认为:NO)
    // 隐藏搜索建议
    searchViewController.searchSuggestionHidden = YES;

期待

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

Licenses

All source code is licensed under the MIT License.

共收到 7 条回复
96
diycodes · #1 ·

@推荐到 移动开发者周刊code_news 。不过发现有部分图片没有上传上来

1619

没有么? 我换了图床了。

96
diycodes · #4 ·

#3楼 @iphone5solo 搜索历史风格 下面图片都不行哦

1619

@diycodes 是的 现在好了。图片地址忘改了

30

入选diycode每日精选第105期 https://github.com/DiyCodes/code_news

1619

#6楼 @d_clock 谢谢支持!

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up