【发布时间】:2011-09-21 06:06:22
【问题描述】:
我创建了一个高度为 100 的 UISearchBar,但它不占用大小,默认大小为 44。无论如何调整 UISearchBar 的高度?
【问题讨论】:
标签: objective-c ios
我创建了一个高度为 100 的 UISearchBar,但它不占用大小,默认大小为 44。无论如何调整 UISearchBar 的高度?
【问题讨论】:
标签: objective-c ios
您可以为搜索字段设置自定义图像,这将允许您创建不同大小的控件
[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;
}
}
【讨论】:
如果我正确理解您的问题,您正在尝试调整 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 类的文档。
【讨论】:
只需进入约束的高度并设置它们的高度。宾果游戏:)
【讨论】: