# HistorySearchModule (opens new window)
# 该组件实现搜索历史本地保存,搜索页面自定义展示。
# 说明
- 根据不同的搜索类型保存搜索历史。
 - 提供通用搜索页面展示。
 - 根据相关协议,自定义搜索导航栏、搜索历史视图、搜索结果视图。
 
# 安装
- 该组件适用于IOS 10 (opens new window) 及以上SDK应用运行
 - 该组件遵守Cocoapods (opens new window) 协议,并通过Cocoapods (opens new window) 进行集成
 
在项目 Podfile 文件内添加
pod 'HistorySearchModule',:git => 'http://192.168.100.254:3000/iosteam/HistorySearchModule.git',:branch => 'gaojw'
在项目目录下执行脚本
pod install
插件即可集成至项目内
# 使用
- CommonSearchController (opens new window) 通用搜索页面 初始化方法
 
/**
 初始化方法
 @param type 历史搜索类型
 @param historyView 历史展示View
 @param resultView 搜索结果展示View
 @return 搜索页面实例
 */
- (instancetype)initWithHistorySearchType:(NSUInteger)type
                     NavigationBarBuilder:(NSObject <SearchNavigationBarProtocol> *)builder
                              HistoryView:(UIView <SearchHistoryViewProtocol> *)historyView
                               ResultView:(UIView <SearchResultViewProtocol> *)resultView;
当输入框输入变化的时候
/**
 * 搜索输入框开始输入事件block回调
 */
@property(nonatomic, copy) void (^searchBarTextFieldDidChanged)(NSString *keyword);
主动保存搜索关键字
/**
 * 保存搜索关键字
 * @param keyword 关键字
 */
- (void)saveSearchKeyword:(NSString *)keyword;
手动显示搜索结果视图/搜索历史视图
- (void)manualShowResultView;
- (void)manualShowHistoryView;
输入框输入,点击了"return"时,是否响应
/**
 *  默认NO
 *  如果设置为YES 则不做任何return 搜索事件
 */
@property (nonatomic, assign)BOOL disabledSearchReturnEvent;
- CommonSearchProtocol (opens new window) 搜索导航栏、搜索历史视图、搜索结果视图协议
 
- SearchResultViewProtocol
 
/**
 * 根据搜索关键字,更新结果视图
 */
- (void)updateWithKeyword:(NSString *)keyword successBlock:(dispatch_block_t)block;
- SearchHistoryViewProtocol
 
/**
 * 初始化方法
 * @param type 历史搜索类型
 */
+ (instancetype)buildWithType:(NSUInteger)type;
/**
 * 选中关键字回调
 */
@property (nonatomic, copy) void (^keywordSelectedBlock)(NSString *keyword);
/**
 * 更新UI
 */
- (void)updateUI;
- SearchNavigationBarProtocol
 
+ (instancetype)build;
/**
 获取当前navigationBar
 */
- (UIView *)navigationBar;
/**
 当前textField
 */
@property (nonatomic, strong) UITextField *textField;
/**
 当前cancel button
 */
@property (nonatomic, strong) UIButton *cancelButton;
至此搜索历史组件介绍完毕。