菜鸟教程小白 发表于 2022-12-13 11:55:45

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) -&gt; 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]
查看完整版本: ios - UISplitViewController:从紧凑旋转到常规时如何防止扩展