AUSearchTitleView 为搜索栏点击入口控件,该组件类似搜索栏,但仅支持点击,提供如下三种样式:
AUSearchTitleStyleDefault = 0
:黑色文字,适用于浅色背景。示例:mPaaS 全部应用页导航栏搜索入口样式。
AUSearchTitleStyleMiddleAlign
:黑色文字,居中对齐,适用于浅色背景。示例:联系人页面搜索入口样式。
AUSearchTitleStyleContent
:白色文字,适用于深色背景。示例:mPaaS 应用首页导航栏搜索入口样式。
效果图
依赖
AUSearchTitleView 的依赖如下:
AntUI(iOS)
1.0.0.161108003457
APCommonUI(iOS)
1.2.0.161108102201
接口说明
typedef NS_ENUM(NSInteger, AUSearchTitleStyle) {
AUSearchTitleStyleDefault = 0, // 黑色文字,使用于浅色背景
AUSearchTitleStyleMiddleAlign, // 黑色文字,使用于浅色背景(居中对齐)
AUSearchTitleStyleContent, // 白色文字,适用于深色背景
};
@class AUSearchTitleView;
@protocol AUSearchTitleViewDelegate <NSObject>
@optional
// 点击搜索栏入口控件
- (void)didPressedTitleView:(AUSearchTitleView *)titleView;
// 点击搜索栏入口控件的 voice 按钮
- (void)didPressedVoiceButton:(AUSearchTitleView *)titleView;
@end
/**
搜索栏入口控件(默认宽度占据整个屏幕)
*/
@interface AUSearchTitleView : UIView
@property(nonatomic, assign)AUSearchTitleStyle style; //搜索背景样式,若不设置,默认为浅色背景
@property(nonatomic,strong) NSString *placeHolder; //搜索框 placeholder,默认为“搜索”
@property(nonatomic,strong) UIColor *placeHolderColor; //placeholder 的颜色
@property (nonatomic, weak) id<AUSearchTitleViewDelegate> delegate;
@property(nonatomic,strong) UIImage *searchIconImage; //搜索 icon
@property(nonatomic,strong) UIColor *normalBackgroundColor; //搜索框的背景颜色
@property(nonatomic,assign) BOOL isShowVoiceIcon; //是否显示语音搜索 icon,默认不显示
/**
* 搜索框距外层透明 View 的左右内边距,默认为 9。如业务需设置初始化的实例 View 与其他 View 的间距,请将内边距值考虑在内,否则视觉上会有误差
* 说明:将初始化的实例设为 navigationItem 的 titleview 时,系统会自适应布局 titlview 与左右 item 的间距,为满足视觉需求,设置了搜索框距外层透明 View 的内边距。
*
* 如有特殊需求,可重设此内边距
*
*/
@property(nonatomic,assign) CGFloat marginBetweenItem;
/**
* 获取实例的方法
*
* @param style 搜索框的style
*
* @return 获取的实例
*/
- (id)initWithSearchStyle:(AUSearchTitleStyle)style;
/**
* 默认调起全局搜索页面,若业务需自定义点击搜索框的事件,请在子类中重写此方法
*/
- (void)onClicked;
@end
代码示例
应用于导航栏
AUSearchTitleView *titleView = [[AUSearchTitleView alloc] initWithSearchStyle:AUSearchTitleStyleDefault]; titleView.placeHolder = @"搜索栏入口样式"; titleView.placeHolderColor = [UIColor blackColor]; titleView.normalBackgroundColor = [UIColor orangeColor]; titleView.isShowVoiceIcon = YES; titleView.delegate = self; self.navigationItem.titleView = titleView;
应用于普通视图
titleView = [[AUSearchTitleView alloc] initWithSearchStyle:AUSearchTitleStyleMiddleAlign]; titleView.placeHolder = @"AUSearchTitleStyleMiddleAlign样式"; titleView.isShowVoiceIcon = YES; titleView.delegate = self; [self.view addSubview:titleView];
文档内容是否对您有帮助?