我碰到了一个奇怪的问题,当一个视图控制器出现在一个弹出框中时,呈现视图控制器view
不会被捕捉到它的超视图的底边,在这种情况下就是window
它自身.
AppDelegate代码:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. let window = UIWindow(frame: UIScreen.main.bounds) window.rootViewController = UIStoryboard(name: "NavigationController", bundle: Bundle.main).instantiateInitialViewController() window.makeKeyAndVisible() window.backgroundColor = .yellow // Needed to detect the issue. self.window = window return true }
要测试的故事板:
复制新项目中的所有内容,删除main
作为要启动的主要故事板.
在iPhone X Plus模拟器(或真实设备)上运行项目.
单击底部以显示视图控制器.2.1.启用慢动作(仅限模拟器).
旋转您的设备.
我正在谈论的问题是黄色view
是可见的(window
).一次旋转确实正确布局了呈现视图控制器,另一次旋转确实以错误状态开始.
这是我的故事板中的错误还是来自UIKit
哪里?
更新:该项目使用最新的iOS SDK,没有弃用的API(如上所示'几乎所有东西都是用IB构建').
更新2:我更新了原始句子,使其清楚地表明它不是一个UIPopoverController
.