【问题标题】:UISearchbar & SearchDisplay Controller not extending beneath status bar in iOS7UISearchbar 和 SearchDisplay 控制器未在 iOS7 中的状态栏下方扩展
【发布时间】:2013-10-15 20:49:46
【问题描述】:

我遇到了 UISearchViewController 的问题(使用情节提要布局)。

我的主视图控制器顶部有一个导航栏,我在其下方放置了 UISearchBar。 MKMapView 在搜索栏和导航栏下方扩展。

当 SearchViewController 处于活动状态时,导航栏会向上滑动。我添加了一个自动布局约束来将 uisearchbar 粘贴到导航栏的底部。但是,搜索栏似乎没有延伸到状态栏下方和地图视图上方。相反,地图视图出现在上方 20px 的间隙中。

任何帮助将不胜感激!

【问题讨论】:

  • @rbaker86 您找到解决方案了吗?我也在为此苦苦挣扎......
  • 是的。就我而言: self.ibSearchBar.clipsToBounds = NO;在 viewDidLoad
  • 我也在为此苦苦挣扎,并且 clipsToBounds 不起作用。

标签: iphone objective-c xcode storyboard ios7


【解决方案1】:

在我的导航栏上将半透明设置为 false 并不能解决此问题。但是设置我的 searchBar 的半透明属性对我有用。

我使用这些UISearchDisplayDelegate 方法根据searchBar 是否处于活动状态来更改值。

func searchDisplayControllerWillBeginSearch(controller: UISearchDisplayController) {
    // self.searchBar is an IBOutlet from storyboard
    self.searchBar.translucent = false
}

func searchDisplayControllerWillEndSearch(controller: UISearchDisplayController) {
    self.searchBar.translucent = true
}

【讨论】:

    【解决方案2】:

    我认为它可以通过 navigationBar.translucent = NO; 来解决。它在 iOS 7 中默认设置为 YES。我自己遇到了很多麻烦。

    【讨论】:

    • 非常感谢您的建议。我试过 self.navigationController.navigationBar.translucent = NO;在 viewDidLoad 方法中,但这没有帮助。
    【解决方案3】:

    在 info.plist 文件中试试这个来禁用状态栏

    【讨论】:

      猜你喜欢
      • 2014-06-19
      • 1970-01-01
      • 2020-06-02
      • 1970-01-01
      • 2014-01-26
      • 1970-01-01
      • 1970-01-01
      • 2013-09-25
      相关资源
      最近更新 更多