这让我发疯了。我正在iPad上创建一个splitview应用程序。
我在UINavigationBar中创建了一个searchBar - 就像这样......
UISearchBar *searchBar = [[UISearchBar alloc] initWitFrame:CGRectZero];
[searchBar setPlaceHolder:@"Search"];
[searchBar sizeToFit];
[searchBar setDelegate:self];
[self.navigatioItem setTitleView:searchBar];
这对于我这样显示UISearchBar就好了......
我也将此UIBarButtonItem设置为在侧窗显示主导航控制器。
当设备旋转到横向并且UIBarButtonItem被隐藏时,会出现问题。然后searchBar就像这样......
由于barButtonItem被隐藏且搜索栏的大小无法更新,因此侧面有一些空间似乎存在。
此外,当我再次旋转设备时,这是UISearchBar发生的事情
如果将搜索栏添加到UINavigationBar后,如何更新搜索栏的大小。即使使用autoResizingMask也行不通。
searchBar.autoResizingMask =UIViewAutoresizingFlexibleWidth;
我在这里做错了什么?
答案 0 :(得分:0)
我遇到了同样的问题(这不是搜索栏,而是一些UIView),这就是我解决它的方法:
尝试使用不会更改的固定大小创建它。我的意思是如果你的导航栏最小尺寸是(例如)320pt,而barbutton大约是30pt,你需要将搜索栏放在中间(BTW不是标准,AFAIK),你必须使它成为320 - (30 + 10)* 2 = 240pt。搜索栏将放置在中间位置,并且有足够的位置可以自由使用。
这样既不会改变它的大小,也不会影响其他项目。
或者我建议你把它放在正确的位置,而不是放在中间位置。
希望它有所帮助。