0

我在其中创建UISearchBar了一个名为. 现在我想在代码中改变它的宽度和高度却做不到。这是我的代码:InterfaceBuilderIBOutletuserSearchBar

    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);
    }
}

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

4

1 回答 1

6

我自己也遇到过这个问题,我发现最好的方法是从头开始编写自己的搜索栏,子类化UIView. 这使我可以合法地访问我可能想要自定义的所有属性(例如考虑设计或品牌时的背景、颜色),而不是像这样尝试破解。这是未来的证明,不是那么难,也不是很耗时。这是一个有趣的练习,将提供你想要的。

于 2012-11-20T13:54:00.807 回答