iOS更改UISearchBar里面的UITextField的frame以及去除UISearchBar的背景
2015-08-28 15:55
435 查看
1、自定义UISearchBar的子类MySearchBar,重写layoutSubviews方法。
代码:- (void)layoutSubviews {
[super layoutSubviews];
for (UIView *view in self.subviews)
{
if ([view isKindOfClass:NSClassFromString(@"UIView")] && view.subviews.count > 0) {
for (UIView *subview in view.subviews) {
if ([subview isKindOfClass:NSClassFromString(@"UITextField")]) {
UITextField *textField = (UITextField *)subview;
CGRect frame = textField.frame;
frame.size.height = 38;
textField.frame = frame;
textField.font = [UIFont fontWithName:@"Helvetica" size:17.0f];
break;
}
}
break;
}
}
}2、如果是由UISearchBar是在一个xib文件中定义的,则在awakeFromNib方法里做如下操作:
for (UIView *view in self.destinationSearchBar.subviews)
{
if ([view isKindOfClass:NSClassFromString(@"UIView")] && view.subviews.count > 0) {
[[view.subviews objectAtIndex:0] removeFromSuperview];
CGRect frame = view.frame;
CGFloat height = frame.size.height + 8;
frame.size.height = height;
view.frame = frame;
view.clipsToBounds = NO;
break;
}
}
如果是用alloc/init方法生成的,则在其对应的UViewController的viewDidLoad方法里添加代码
代码:- (void)layoutSubviews {
[super layoutSubviews];
for (UIView *view in self.subviews)
{
if ([view isKindOfClass:NSClassFromString(@"UIView")] && view.subviews.count > 0) {
for (UIView *subview in view.subviews) {
if ([subview isKindOfClass:NSClassFromString(@"UITextField")]) {
UITextField *textField = (UITextField *)subview;
CGRect frame = textField.frame;
frame.size.height = 38;
textField.frame = frame;
textField.font = [UIFont fontWithName:@"Helvetica" size:17.0f];
break;
}
}
break;
}
}
}2、如果是由UISearchBar是在一个xib文件中定义的,则在awakeFromNib方法里做如下操作:
for (UIView *view in self.destinationSearchBar.subviews)
{
if ([view isKindOfClass:NSClassFromString(@"UIView")] && view.subviews.count > 0) {
[[view.subviews objectAtIndex:0] removeFromSuperview];
CGRect frame = view.frame;
CGFloat height = frame.size.height + 8;
frame.size.height = height;
view.frame = frame;
view.clipsToBounds = NO;
break;
}
}
如果是用alloc/init方法生成的,则在其对应的UViewController的viewDidLoad方法里添加代码
相关文章推荐
- UE4 Metal Rendering API
- UE4 Setting Device Profiles
- 【Material Design视觉设计语言】UI组件设计(十一):进度条
- [iOS]iOS7+ UITabBar修改选中图片显示为默认蓝色的问题解决方法,去除UITabbar顶部一像素横线
- 【Material Design视觉设计语言】UI组件设计(十):选择器
- [转载]RequestDispatcher.include(String str)用法。
- 【Material Design视觉设计语言】UI组件设计(九):菜单
- String,StringBuffer与StringBuilder的区别??
- UIImagePickerController从拍照、图库、相册获取图片
- UEditor上传文件IO异常
- UE使用
- LeetCode:Implement Queue using Stacks
- 调整UILabel行高间距(利用iOS 6的特性来手动调整行间矩)
- UIImagePickerController拍照与摄像
- LeetCode-Distinct Subsequences
- easyui之datagrid动态修改列
- UGUI之判断是否点在UI上
- hdu 2227Find the nondecreasing subsequences(树状数组+dp+离散化)
- 【Material Design视觉设计语言】UI组件设计(八):列表
- iOS 三级UIPickerView使用