gpt4 book ai didi

ios - Swift UISplitViewController MasterViewController 设置宽度不起作用

转载 作者:行者123 更新时间:2023-11-28 05:37:30 25 4
gpt4 key购买 nike

我正在开发一款具有 Split View的应用程序,到目前为止它运行良好,但无法使用 preferredPrimaryColumnWidthFraction 设置主 Controller 的宽度。应用程序中的另一个屏幕已经包含一个 Split View,并且使用 preferredPrimaryColumnWidthFraction 设置宽度可以正常工作(这个屏幕已经构建了一段时间)并且在比较两个屏幕时我找不到 Storyboard中的任何差异可以解释这种行为。

Storyboard中的基本设置如下: enter image description here

右上角的 Controller 是HelpMenuController:

import Foundation

class HelpMenuController: UITableViewController {

override func viewDidLoad() {
super.viewDidLoad()
self.splitViewController?.preferredPrimaryColumnWidthFraction = 0.3
}
...
}

对于另一个屏幕,设置 preferredPrimaryColumnWidthFraction 的调用也发生在相应 MasterViewController 的 viewDidLoad 方法中。一切似乎都是相同的,但对于一个 Split View,它可以正常工作,而对于另一个 Split View,则不行。

我还使用自定义的 UISplitViewController 对其进行了测试,并在其 viewDidLoad 方法中设置了 preferredPrimaryColumnWidthFraction,但这种方法不起作用。

想不出可能导致此问题的原因 - 是否有人也遇到过此问题或对此有想法?

爱因斯坦:

The definition of insanity is doing the same thing over and over and expecting different results.

有时我对软件开发的印象是相反的:Insanity 是一遍又一遍地做同样的事情并期待相同的结果。

或者换句话说:相同但不同。

最佳答案

好吧,于是又看了一遍关于 UISplitViewController 的文档,找到了解决办法:

class HelpMenuController : UITableViewController {

override func viewDidLoad() {
super.viewDidLoad()
self.splitViewController?.preferredPrimaryColumnWidthFraction= 0.3
self.splitViewController?.maximumPrimaryColumnWidth = 0.3 * UIScreen.main.bounds.width
}
...
}

出于对我来说未知的原因,必须将最大宽度增加到此屏幕的所需值,而对于另一个屏幕则没有这样做。

关于ios - Swift UISplitViewController MasterViewController 设置宽度不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58164221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com