如何在iOS中调整UISearchBar高度?

时间:2011-09-21 06:06:22

标签: objective-c ios

我创建了一个UISearchBar,其高度为100,但它不占用大小,默认大小为44.是否还要调整UISearchBar的高度?

3 个答案:

答案 0 :(得分:2)

您可以为搜索字段设置自定义图像,这样您就可以创建不同大小的控件

[searchBar setSearchFieldBackgroundImage:[UIImage imageNamed:@"SearchTextbox"] forState:UIControlStateNormal];

您可以手动覆盖layoutSubViews内的搜索栏高度,如下所示

- (void)layoutSubviews {
    frame = self.frame;
    if (frame.size.height != 100) {
        frame.size.height = 100;
        self.frame = frame;
    }
}

答案 1 :(得分:0)

如果我正确理解您的问题,您正试图调整UISearchBar的大小,是吗?您是否尝试过调整其框架尺寸?

NSLog(@"Adding UISearchBar to myView.");
UISearchBar *searchBar = [[UISearchBar alloc] init];
[myView addSubview:searchBar];

// Make the search bar will take up the entire window.
searchBar.frame = [[UIApplication sharedApplication] keyWindow].frame;

// Release the searchBar (it is being retained by myView)
[searchBar release];

如果你想在UISearchBar中改变UITextField子视图的大小,我恐怕你运气不好,详见on this post on SO。 UISearchBar中的UITextField是私有API的一部分,是UISearchBarTextField的一个实例,你不能改变它的大小(以任何方式Apple都会批准,即)。但是,UISearchBar确实提供了更改 UISearchBar中的文本偏移量的方法。请参阅UISearchBar类的文档。

答案 2 :(得分:-1)

只要达到约束的高度并设定它们的高度。宾果:)