AUSearchBar 为 mPaaS 搜索栏控件,该组件提供两种显示样式:
AUSearchBarStyleNormal
:带取消按钮的搜索栏,参考全局搜索主页搜索栏。AUSearchBarStyleDetail
:带取消和返回按钮的搜索栏,参考全局搜索二级页面搜索栏。
效果图
依赖
AUSearchBar 的依赖如下:
AntUI(iOS)
1.0.0.161108003457
APCommonUI(iOS)
1.2.0.161108102201
接口说明
@class AUSearchBar;
@protocol AUSearchBarDelegate <NSObject>
@optional
#pragma mark - 对应 UITextField 的代理方法
//
- (BOOL)searchBarTextShouldBeginEditing:(AUSearchBar *)searchBar;
//
- (BOOL)searchBarTextShouldEndEditing:(AUSearchBar *)searchBar;
// called when text starts editing
- (void)searchBarTextDidBeginEditing:(AUSearchBar *)searchBar;
// called when text ends editing
- (void)searchBarTextDidEndEditing:(AUSearchBar *)searchBar;
// called when text changes (including clear)
- (void)searchBar:(AUSearchBar *)searchBar textDidChange:(NSString *)searchText;
// called before text changes
- (BOOL)searchBar:(AUSearchBar *)searchBar shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text;
- (BOOL)searchBarShouldClear:(AUSearchBar *)searchBar;
#pragma mark - 其他代理方法
// 键盘搜索按钮点击后的回调
- (void)searchBarSearchButtonClicked:(AUSearchBar *)searchBar;
// 取消按钮点击后的回调
- (void)searchBarCancelButtonClicked:(AUSearchBar *) searchBar;
// 返回按钮点击后的回调(AUSearchBarStyleDetail 有效)
- (void)searchBarBackButtonClicked:(AUSearchBar *)searchBar;
// voice 按钮点击后的回调(shouldShowVoiceButton 为 YES 时有效)
- (void)searchBarOpenVoiceAssister:(AUSearchBar *)searchBar;
@end
typedef NS_ENUM(NSUInteger, AUSearchBarStyle) {
AUSearchBarStyleNormal = 0,//normal
AUSearchBarStyleDetail, //has back Button
};
/**
搜索栏控件(默认宽度和屏幕宽度一致,高度 44)
*/
@interface AUSearchBar : UIView
@property (nonatomic, strong) NSString *text; // 搜索框文本
@property (nonatomic, assign) BOOL isSupportHanziMode; // 是否支持汉字边输入边搜索模式,默认为 YES
@property (nonatomic, assign) AUSearchBarStyle style; // 搜索框样式
@property (nonatomic, assign) BOOL shouldShowVoiceButton; // 是否显示 voice 按钮,默认为 NO
@property (nonatomic, strong, readonly) UITextField *searchTextField; // 搜索框
@property (nonatomic, weak) id<AUSearchBarDelegate> delegate;
/**
初始化方法
@param style 搜索框样式
@return AUSearchBar 实例
*/
- (instancetype)initWithStyle:(AUSearchBarStyle)style;
@end
代码示例
添加到导航栏:
AUSearchBar *searchBar = [[AUSearchBar alloc] initWithStyle:AUSearchBarStyleNormal]; searchBar.searchTextField.placeholder = @"搜索栏样式(AUSearchBarStyleNormal)"; searchBar.delegate = self; searchBar.isSupportHanziMode = YES; searchBar.shouldShowVoiceButton = YES; self.navigationItem.titleView = searchBar; self.navigationItem.leftBarButtonItem = nil; // 需要将左边导航按钮置空 self.navigationItem.rightBarButtonItem = nil; // 需要将右边导航按钮置空 self.navigationItem.hidesBackButton = YES; // 需要隐藏返回按钮
添加到普通视图:
searchBar = [[AUSearchBar alloc] initWithStyle:AUSearchBarStyleDetail]; searchBar.searchTextField.placeholder = @"搜索栏样式(AUSearchBarStyleDetail)"; searchBar.delegate = self; searchBar.isSupportHanziMode = YES; searchBar.shouldShowVoiceButton = YES; [self.view addSubview:searchBar];
文档内容是否对您有帮助?