Ios 如何使用UISplitView自适应用户界面呈现UISearchController?

Ios 如何使用UISplitView自适应用户界面呈现UISearchController?,ios,ios8,uisplitviewcontroller,uisearchcontroller,adaptive-ui,Ios,Ios8,Uisplitviewcontroller,Uisearchcontroller,Adaptive Ui,使用带有自适应用户界面的通用故事板 我想使用以下代码(来自主视图控制器)在主(主)侧显示搜索控制器: 它最初看起来工作正常(无论起始方向如何): 自动旋转后会出现问题(键盘仍然可见,基础内容仍然变暗,但搜索栏已消失): 旋转回横向时,搜索栏会重新出现,但其宽度现在错误: (我还尝试将搜索控制器的搜索栏放在标题视图中。虽然搜索栏调整正确,但搜索结果控制器的外观仍然不正确。) 当UI适应不断变化的大小类时,我缺少什么来获得呈现的UISearchController来正确地设置自身动画 更新:

使用带有自适应用户界面的通用故事板

我想使用以下代码(来自主视图控制器)在主(主)侧显示搜索控制器:

它最初看起来工作正常(无论起始方向如何):

自动旋转后会出现问题(键盘仍然可见,基础内容仍然变暗,但搜索栏已消失):

旋转回横向时,搜索栏会重新出现,但其宽度现在错误:

(我还尝试将搜索控制器的
搜索栏
放在
标题视图
中。虽然搜索栏调整正确,但搜索结果控制器的外观仍然不正确。)

当UI适应不断变化的大小类时,我缺少什么来获得呈现的
UISearchController
来正确地设置自身动画

更新:


添加
self.definesPresentationContext=YES获取要显示在主视图中的搜索栏/结果,但搜索栏正在该导航栏下设置动画,并且不可见。另一个问题是,当搜索栏从纵向(有状态栏)旋转回横向时,搜索栏的高度不会收缩。

您使用的是什么Xcode版本?模拟器上的iOS版本是什么?
使用Xcode 6、iOS 8.4尝试过这一点-这就是我在MasterVC中使用的所有代码:

class MasterViewController: UITableViewController {

    @IBAction func search(sender: UIBarButtonItem) {
        let searchController = UISearchController(searchResultsController: nil)
        searchController.hidesNavigationBarDuringPresentation = false
        presentViewController(searchController, animated: true, completion: nil)
    }
...
}

它在主屏幕中显示并锁定屏幕方向!自从您发布答案后,行为可能已经发生了变化。

我更进一步,添加了
self.definesPresentationContext=YES搜索栏和结果控制器现在适合主视图,但搜索栏隐藏在导航栏下。可能。在8.3和8.4中修复了很多bug。谢谢你的报告。我发布了该应用程序,但在将来的应用程序中会记住它。iOS 9.2、swift2、xcode 7.2的更新:在情节提要表视图中测试,swift代码@IBAction func startSearch()略有更改{presentViewController(searchController,动画:true,完成:{}}
class MasterViewController: UITableViewController {

    @IBAction func search(sender: UIBarButtonItem) {
        let searchController = UISearchController(searchResultsController: nil)
        searchController.hidesNavigationBarDuringPresentation = false
        presentViewController(searchController, animated: true, completion: nil)
    }
...
}