ios - UISplitViewController:从紧凑旋转到常规时如何防止扩展
<p><p>补充问题有很多答案,即如何防止在从 <code>Regular</code> 到 <code>Compact</code> 界面更改时过渡到 <code>PrimaryOverLay</code> ,例如使用 </p>
<pre><code>func splitViewController(splitViewController: UISplitViewController, collapseSecondaryViewController secondaryViewController: UIViewController, ontoPrimaryViewController primaryViewController: UIViewController) -> Bool
</code></pre>
<p>就我而言,我有一部 iPhone 6+,其详细 View 以纵向显示。当我将设备旋转到水平位置时(<code>Compact</code> 到 <code>Regular</code>),我希望主视图保持隐藏状态。我尝试在很多地方将 <code>preferredDisplayMode</code> 设置为 <code>.PrimaryHidden</code> ,但没有明显影响。谷歌搜索一无所获。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>好吧,在我写完问题之后,但在发布之前,我绊倒了 <a href="http://coding.tabasoft.it/ios/the-new-uisplitviewcontroller/" rel="noreferrer noopener nofollow">possible solution</a> ,即覆盖 Split View Controller 引用的特征集合。</p>
<p>我接受了这个想法并决定继承 <code>UISplitViewController</code>,并覆盖 <code>traitCollection</code> 属性。成功了:</p>
<pre><code>final class MySplitViewController: UISplitViewController {
var didOnce = false
override var traitCollection: UITraitCollection {
let old = super.traitCollection
let change = UITraitCollection(horizontalSizeClass: .Compact)
let new = UITraitCollection(traitsFromCollections: )
return new
}
</code></pre>
<p>显然,这是为一台设备硬编码的 - 稍后我会添加一些函数,我可以使用这些函数来控制实际返回的内容。</p></p>
<p style="font-size: 20px;">关于ios - UISplitViewController:从紧凑旋转到常规时如何防止扩展,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/33151380/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/33151380/
</a>
</p>
页:
[1]