我在UISearchBar
和InterfaceBuilder
创建了IBOutlet
,名为userSearchBar
。现在我想在代码中改变它的宽度和高度而不能这样做。这是我的代码:
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);
}
}
所有其他更改(文本,颜色,删除栏)都可以正常工作,但不会改变大小。
答案 0 :(得分:5)
我自己也反对这一点,我发现最好的方法是从头开始编写自己的搜索栏,继承UIView
。这使我可以合法访问我可能想要自定义的所有属性(例如考虑设计或品牌时的背景,颜色),而不是像这样尝试破解。它是未来的证明,不是那么难,也不是非常耗费时间。这是一项有趣的练习,可以提供您想要的内容。