【发布时间】:2016-03-18 16:51:55
【问题描述】:
当UISearchController 在UISplitViewController 界面中的主设备上显示时,自动布局在 iOS 8/9 上无法正常工作。
重现此问题:
- 在 Xcode 中创建一个新的 Master-Detail 应用程序(使用 swift,无核心数据)
- 将
var searchController: UISearchController!添加到MasterViewController -
在
viewDidLoad()下添加以下内容searchController = UISearchController(searchResultsController: nil) definesPresentationContext = true tableView.tableHeaderView = searchController.searchBar 在 iPhone 6 Plus 或模拟器上运行应用程序
- 旋转到横向。
- 点击“+”按钮并选择项目以便更新详细信息
- 点击搜索栏将其显示在导航栏中
- 旋转回纵向,细节现在应该占据整个屏幕。
- 导航回母版(点击“
- 关闭搜索(点击“取消”)
- 转回横向
现在您可以看到 UISearchBar 没有对齐。
我们可以在视图调试器中验证这一点:
如果单击“显示剪辑的内容”按钮,此问题会更加明显:
错位的不仅仅是UISearchBar,而是整个MasterViewController。
我也在本机邮件和消息应用程序中重现了这个问题:
有没有人找到解决这个特定问题的方法或解决方案?
【问题讨论】:
标签: ios autolayout uisplitviewcontroller uisearchcontroller iphone-6-plus