【问题标题】:UISearchBar: how can I stop it resizing when clicked?UISearchBar:单击时如何停止调整大小?
【发布时间】:2012-01-11 01:54:27
【问题描述】:

我有一个UISearchBar(带有UISearchDisplayController)作为UINavigationBar 的标题视图。导航栏中的搜索栏两侧也有两个按钮。

点击UISearchBar时,它会变宽并覆盖右侧的按钮。

我怎样才能阻止它变宽?

尝试了但没有成功-->

  • 如果旋转设备,则加宽的搜索栏将变为原始大小。 因此,尝试在 -searchBarTextDidBeginEditing 中调用 [searchBar setNeedsLayout]
  • IB 中所有不同的auto-resizing mask 选项

编辑:没有提到,但这是在 iPhone 上(因为我们可以将searchbar 放在 iPad 的工具栏中..)

【问题讨论】:

  • 可能重复并回答:stackoverflow.com/questions/3006209/…
  • @CollinPrice 不幸的是,您提到的链接中的答案不起作用。 :( 添加 [self.searchBar setFrame:CGRectMake(0.0, 0.0, 150.0, 44.0)]; 例如在 searchBarTextDidBeginEditing:(UISearchBar *)searchBar 方法什么也没做...
  • 似乎触发了 searchDisplayControllerDidBeginSearch: 但它仍然扩大了一点 - 必须是标题视图的自动调整大小。

标签: iphone objective-c ios uisearchbar


【解决方案1】:

实际上,从this answer 得到提示,如果将搜索栏放在所需大小的 UIView 中,则将其设置为 NavBar 的标题视图,它不会变宽!

但是...由于您无法使取消按钮按您的意愿显示/不显示,我意识到它不是那么有用。
(如this question/answer 等)

【讨论】:

  • 是的,我认为我们只需要将 UISearchBar 包含在具有所需宽度的 UIView 中。@s-t
  • 这太聪明了——感谢一百万。刚刚帮了我!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-25
  • 1970-01-01
  • 1970-01-01
  • 2011-06-12
  • 2014-11-29
  • 1970-01-01
相关资源
最近更新 更多