PYSearch
GitHub地址:github.com/iphone5solo…
專案作者:CoderKo1o
- ? 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
Contents
-
Getting Started
-
Usage
效果圖
支援哪些風格
熱門搜尋風格
搜尋歷史風格
如何使用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;
複製程式碼 -
設定搜尋結果顯示模式(預設為PYSearchResultShowModePush)
// 設定搜尋模式為內嵌 searchViewController.searchResultShowMode = PYSearchResultShowModeEmbed;
複製程式碼 -
隱藏搜尋建議(預設為:NO)
// 隱藏搜尋建議 searchViewController.searchSuggestionHidden = YES;
複製程式碼
期待
- 如果您在使用過程中有任何問題,歡迎issue me! 很樂意為您解答任何相關問題!
- 與其給我點star,不如向我狠狠地拋來一個BUG!
- 如果想要參與這個專案的維護或者有好的設計風格,歡迎pull request!
- 如果您想要更多的介面來自定義或者建議/意見,歡迎issue me!我會根據大家的需求提供更多的介面!
- 如果您在使用中覺得略有不適,歡迎聯絡我QQ:499491531,希望一起完善此專案,讓它變成更強大,能夠滿足大多數使用者的需求!
Licenses
All source code is licensed under the MIT License.