【问题标题】:UISearchDisplayController weird behavior (video)UISearchDisplayController 奇怪的行为(视频)
【发布时间】:2013-11-21 00:30:38
【问题描述】:

当我将 IB(Xcode 5)中的 UISearchDisplayController 添加到 UINavigationController 中显示的 UIViewController 并按下搜索栏时,搜索栏会被黑色半透明视图覆盖。

这是视频:http://quick.as/ezrc7bq

我还没有接触任何代码,所以我不确定那里发生了什么。

【问题讨论】:

    标签: ios iphone objective-c interface-builder xcode5


    【解决方案1】:

    这实际上是 iOS UISearchBarDisplayController 中的一个错误(在 UINavigationController 中使用时)。默认行为是突出显示文本框,其余视图变暗,但此暗视图框架不考虑导航栏高度。

    解决这个问题的最简单方法是实现搜索栏委托

    - (void)searchDisplayControllerWillBeginSearch:(UISearchDisplayController *)controller { self.navigationController.navigationBarHidden = YES; } - (void) searchDisplayControllerWillEndSearch:(UISearchDisplayController *)controller{ self.navigationController.navigationBarHidden = 否; }

    其他选择包括修改搜索栏的框架

    - (void)searchDisplayControllerWillBeginSearch:(UISearchDisplayController *)controller { // 将搜索栏动画到顶部 ie. y=0 [UIView animateWithDuration:0.25f 动画:^{ CGRect 框架 = 控制器.searchBar.frame; frame.origin.y = 0; 控制器.searchBar.frame = 框架; }]; }

    【讨论】:

    • 感谢您的视频!
    猜你喜欢
    • 1970-01-01
    • 2012-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-10
    • 1970-01-01
    相关资源
    最近更新 更多