uisearchbar中自定义 放大镜图标 placeolder字体颜色 文本框背景色 兼容ios7
2014-01-20 17:01
549 查看
自定义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];
}
相关文章推荐
- UISearchbar中自定义 放大镜图标 placeolder字体颜色 文本框背景色 兼容ios7
- 自定义UISearchBar 适配IOS6和IOS7 修改放大镜图标 修改光标颜色 修改边框颜色 placeholder颜色 设置文本框背景
- 自定义UISearchBar 适配IOS6和IOS7 修改放大镜图标 修改光标颜色 修改边框颜色 placeholder颜色 设置文本框背景
- 自定义UISearchBar的背景颜色、文本框等信息
- iOS开发关于UISearchBar自定义取消按钮的颜色,字体,大小
- iOS中UISearchBar的placeholder字体颜色以及背景色
- 自定义UISearchBar的背景颜色、文本框等信息
- 设置 UISearchBar 输入字体颜色 和 默认字体颜色
- C#Winform使用扩展方法自定义富文本框(RichTextBox)字体颜色
- Android自定义ActionBar背景色、字体颜色等样式style
- CSS:自定义链接样式(设置链接不同状态下的字体颜色/背景色等)
- ios6,ios7,ios7.1下设置UISearchbar的背景色
- 设置 UISearchBar 输入字体颜色 和 默认字体颜色
- ios6,ios7,ios7.1下设置UISearchbar的背景色
- 搜索条UISearchBar自定义样式 去掉上下阴影下划线 修改取消按钮的文字、颜色 - Swift
- wince 静态文本框字体和颜色、背景色的动态更改
- html设置背景色和字体颜色--兼容各浏览器
- iOS UISearchBar修改placeholder字体颜色和大小
- 自定义navigationBar字体大小颜色背景色
- 设置UISearchBar输入字体颜色和默认字体颜色