Я понимаю, что вы используете предпочитаемое значение PrimaryColumnWidthFraction и / или MaximumPrimaryColumnWidth, и оно входит в ваш AppDelegate, но мой вопрос в том, что если ваш MasterViewController не является корневым контроллером представления. Я знаю, если это так, вы можете поставить:
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
let splitViewController = window!.rootViewController as! UISplitViewController
splitViewController.maximumPrimaryColumnWidth = 300
И если у вас есть контроллер навигации перед вашим MasterViewController, вы можете поставить:
let rootViewController = window!.rootViewController as UINavigationController
let splitViewController = rootViewController.viewControllers[0] as UISplitViewController
Но что, если у вас есть несколько viewControllers, обе из которых имеют базовую навигацию перед мастером? Как я могу вызвать мой MasterViewController? Любая помощь оценена, я понимаю, что ответ, вероятно, очень простой. Спасибо.