Popularity
9.2
Stable
Activity
3.7
Declining
3,529
89
727

Monthly Downloads: 0
Programming language: Objective-C
License: MIT License
Tags: UI     TextField & TextView    

PYSearch alternatives and similar libraries

Based on the "TextField & TextView" category

Do you think we are missing an alternative of PYSearch or a related project?

Add another 'TextField & TextView' Library

README

Apps Using Total Downloads Build Status Pod Version Pod Platform Pod License

  • ­čöŹ An elegant search controller for iOS.

QQ chat room

 

Features

  • [x] Support a variety of hot search style
  • [x] Support a variety of search history style
  • [x] Support a variety of search results display mode
  • [x] Support a variety of search view controller display mode
  • [x] Support search suggestions
  • [x] Support search history (record) cache
  • [x] Support callback using delegate or block completion search
  • [x] Support CocoaPods
  • [x] Support localization
  • [x] Support vertical and horizontal screen on iPhone and iPad

Requirements

  • iOS 7.0 or later
  • Xcode 7.0 or later

Architecture

Main

  • PYSearch
  • PYSearchConst
  • PYSearchViewController
  • PYSearchSuggestionViewController

Category

  • UIColor+PYSearchExtension
  • UIView+PYSearchExtension
  • NSBundle+PYSearchExtension

Contents

Renderings

Styles

Hot search style

Search history style

How to use

  • Use CocoaPods:
    • pod "PYSearch"
    • Import the main file´╝Ü#import <PYSearch.h>
  • Manual import´╝Ü
    • Drag All files in the PYSearch folder to project
    • Import the main file´╝Ü#import "PYSearch.h"

Details (See the example program PYSearchExample for details)

    // 1. Create hotSearches array
    NSArray *hotSeaches = @[@"Java", @"Python", @"Objective-C", @"Swift", @"C", @"C++", @"PHP", @"C#", @"Perl", @"Go", @"JavaScript", @"R", @"Ruby", @"MATLAB"];
    // 2. Create searchViewController
    PYSearchViewController *searchViewController = [PYSearchViewController searchViewControllerWithHotSearches:hotSeaches searchBarPlaceholder:@"Search programming language" didSearchBlock:^(PYSearchViewController *searchViewController, UISearchBar *searchBar, NSString *searchText) {
        // Call this Block when completion search automatically
        // Such as: Push to a view controller
        [searchViewController.navigationController pushViewController:[[UIViewController alloc] init] animated:YES];

    }];
    // 3. present the searchViewController
    UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:searchViewController];
    [self presentViewController:nav  animated:NO completion:nil];

Custom

  • Custom search suggestions display

    // 1. Set dataSource
    searchViewController.dataSource = self;
    // 2. Implement dataSource method
    
  • Custom search result dispaly

    // 1. Set searchResultShowMode
    searchViewController.searchResultShowMode = PYSearchResultShowModeEmbed;
    // 2. Set searchResultController 
    searchViewController.searchResultController = [[UIViewController alloc] init];
    
  • Set hotSearchStyle´╝łdefault is PYHotSearchStyleNormalTag´╝ë

    // Set hotSearchStyle
    searchViewController.hotSearchStyle = PYHotSearchStyleColorfulTag;
    
  • Set searchHistoryStyle´╝łdefault is PYSearchHistoryStyleCell´╝ë

    // Set searchHistoryStyle
    searchViewController.searchHistoryStyle = PYSearchHistoryStyleBorderTag;
    
  • Set searchHistoriesCachePath´╝łdefault is PYSEARCH_SEARCH_HISTORY_CACHE_PATH´╝ë

    // Set searchHistoriesCachePath
    searchViewController.searchHistoriesCachePath = @"The cache path";
    
  • Set searchHistoriesCount´╝łdefault is 20´╝ë

    // Set searchHistoriesCount
    searchViewController. searchHistoriesCount = 6;
    
  • Set searchResultShowMode´╝łdefault is PYSearchResultShowModeCustom´╝ë

    // Set searchResultShowMode
    searchViewController.searchResultShowMode = PYSearchResultShowModeEmbed;
    
  • Set searchSuggestionHidden´╝łdeafult is NO´╝ë

    // Set searchSuggestionHidden
    searchViewController.searchSuggestionHidden = YES;
    

Hope

  • If you have any questions during the process or want more interfaces to customize´╝îyou can issues me!
  • Instead of giving me star, it is better to throw a bug to me!
  • If you want to participate in the maintenance of this project or have a good design style, welcome to pull request!
  • If you feel slightly discomfort in use, please contact me QQ:499491531 or Email:499491531@qq.com.
  • Hope to improve this project together, let it become more powerful, able to meet the needs of most users!

Licenses

All source code is licensed under the MIT License.


*Note that all licence references and agreements mentioned in the PYSearch README section above are relevant to that project's source code only.