Objective c Can';t更改UISearchbar的大小';s文本字段
我在Objective c Can';t更改UISearchbar的大小';s文本字段,objective-c,ios,uitextfield,uisearchbar,Objective C,Ios,Uitextfield,Uisearchbar,我在InterfaceBuilder和IBOutlet中创建了一个名为userSearchBar的UISearchBar。现在,我想在代码中更改它的宽度和高度,但我不能这样做。这是我的密码: for (UIView * const subview in userSearchBar.subviews) { if ([subview isKindOfClass: NSClassFromString(@"UISearchBarBackground")]) { [sub
InterfaceBuilder
和IBOutlet
中创建了一个名为userSearchBar的UISearchBar
。现在,我想在代码中更改它的宽度和高度,但我不能这样做。这是我的密码:
for (UIView * const subview in userSearchBar.subviews) {
if ([subview isKindOfClass: NSClassFromString(@"UISearchBarBackground")]) {
[subview removeFromSuperview];
}
if ([subview isKindOfClass: [UITextField class]]) {
UITextField * const textField = (UITextField *)subview;
textField.textColor = [UIColor redColor];
textField.text = @"Enter text";
textField.frame = CGRectMake(0, 0, 250, 50);
}
}
所有其他更改(文本、颜色、删除栏)都能很好地工作,但不能更改大小。我自己也遇到过这样的问题,我发现最好的解决方法是从头开始编写自己的搜索栏,将UIView
子类化。这让我可以合法地访问我可能想要定制的所有属性(例如,考虑设计或品牌时的背景、颜色),而不是像这样尝试破解。这是未来的证明,不是那么难,也不是非常耗时。这是一个有趣的练习,将提供您想要的内容。我自己也遇到过同样的问题,我发现最好的解决方法是从头开始编写自己的搜索栏,对UIView
进行子类化。这让我可以合法地访问我可能想要定制的所有属性(例如,考虑设计或品牌时的背景、颜色),而不是像这样尝试破解。这是未来的证明,不是那么难,也不是非常耗时。这是一个有趣的练习,将提供您想要的内容。在更改UITextField
的框架后(假设搜索栏
是您的UISearchBar
),您是否尝试过类似[searchBar sizeToFit]
或[searchBar setNeedsDisplay]
?试试看,如果那没用,我们会想出其他办法;)祝你好运在更改UITextField
的框架后(假设searchBar
是您的UISearchBar
),您是否尝试过类似[searchBar sizeToFit]
或[searchBar setNeedsDisplay]
?试试看,如果那没用,我们会想出其他办法;)祝你好运