无法更改UISearchbar文本字段的大小

时间:2012-11-20 13:46:31

标签: objective-c ios uitextfield uisearchbar

我在UISearchBarInterfaceBuilder创建了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);
    }
}

所有其他更改(文本,颜色,删除栏)都可以正常工作,但不会改变大小。

1 个答案:

答案 0 :(得分:5)

我自己也反对这一点,我发现最好的方法是从头开始编写自己的搜索栏,继承UIView。这使我可以合法访问我可能想要自定义的所有属性(例如考虑设计或品牌时的背景,颜色),而不是像这样尝试破解。它是未来的证明,不是那么难,也不是非常耗费时间。这是一项有趣的练习,可以提供您想要的内容。

相关问题