searchbar下的搜索图标及textfiled样式修改
2015-07-08 13:54
561 查看
自定义searchbar,重写layoutSubviews就行了,只是ios7以下与IOS7获取UITextField的方法不同
-(void)layoutSubviews
{
UITextField *searchField;
searchField = Nil;
if (!IsiOS7()) {
NSUInteger nums = [self.subviews
count];
for(int i = 0; i < nums; i++) {
if([[self.subviews
objectAtIndex:i] isKindOfClass:[UITextField
class]]) {
searchField = [self.subviews
objectAtIndex:i];
[searchField retain];
}
}
}else{
searchField = [self
valueForKey:@"_searchField"];
[searchField initWithFrame:CGRectMake(0, 0,IsPad()?768-60:self.frame.size.width, 44)];
searchField.textAlignment = NSTextAlignmentLeft;
}
if(!(searchField == nil)) {
[searchField setBorderStyle:UITextBorderStyleRoundedRect];
//自定义放大镜图片
UIImage *image = [UIImage
imageNamed: @"search_ico2"];
UIImageView *iView = [[UIImageView
alloc] initWithImage:image];
if (!IsiOS7()) {
iView.frame = CGRectMake(10, 4, 24, 24);
searchField.leftView.hidden = YES;
[searchField addSubview:iView];
}
else
{
iView.frame = CGRectMake(0, 0, 26, 26);
searchField.leftView = iView;
}
//修改文本框背景色
searchField.backgroundColor = VUIColorFromRGB(0xe9d9ca);
searchField.textColor = VUIColorFromRGB(0x000000);
//改变placeholder字体颜色
[searchField setValue:VUIColorFromRGB(0xcbbcab) forKeyPath:@"_placeholderLabel.textColor"];
[iView release];
}
[super
layoutSubviews];
}
-(void)layoutSubviews
{
UITextField *searchField;
searchField = Nil;
if (!IsiOS7()) {
NSUInteger nums = [self.subviews
count];
for(int i = 0; i < nums; i++) {
if([[self.subviews
objectAtIndex:i] isKindOfClass:[UITextField
class]]) {
searchField = [self.subviews
objectAtIndex:i];
[searchField retain];
}
}
}else{
searchField = [self
valueForKey:@"_searchField"];
[searchField initWithFrame:CGRectMake(0, 0,IsPad()?768-60:self.frame.size.width, 44)];
searchField.textAlignment = NSTextAlignmentLeft;
}
if(!(searchField == nil)) {
[searchField setBorderStyle:UITextBorderStyleRoundedRect];
//自定义放大镜图片
UIImage *image = [UIImage
imageNamed: @"search_ico2"];
UIImageView *iView = [[UIImageView
alloc] initWithImage:image];
if (!IsiOS7()) {
iView.frame = CGRectMake(10, 4, 24, 24);
searchField.leftView.hidden = YES;
[searchField addSubview:iView];
}
else
{
iView.frame = CGRectMake(0, 0, 26, 26);
searchField.leftView = iView;
}
//修改文本框背景色
searchField.backgroundColor = VUIColorFromRGB(0xe9d9ca);
searchField.textColor = VUIColorFromRGB(0x000000);
//改变placeholder字体颜色
[searchField setValue:VUIColorFromRGB(0xcbbcab) forKeyPath:@"_placeholderLabel.textColor"];
[iView release];
}
[super
layoutSubviews];
}
相关文章推荐
- reset.css css重置公共样式
- css3 渐变记
- 多行文字实现垂直居中 css3
- CSS中position属性( absolute | relative | static | fixed )详解
- CSS3——gradient渐变
- css 样式文字溢出显示省略号
- css3三维动画菜单上下翻转
- 【实用代码】选项卡切换——带标题底纹样式
- CSS之 :before && :after
- html css文件宏观调控-外部样式表
- 样式,主题和动画
- CSS3学习笔记
- CSS3选择器详解
- element.style覆盖了我的样式!!
- css样式表
- 项目中如果管理前端文件CSS和JS
- CSS 文本常用的换行方法
- CSS基础 - 页面布局
- DIV+CSS解决IE6,IE7,IE8,FF兼容问题
- HTML+CSS - 搜索 And 高级搜索