【发布时间】:2018-12-11 02:45:42
【问题描述】:
在我添加自述文件中显示的断点之前,以下应用程序 Drawer Demo 无法正常工作。如果没有断点,UI 将无法完成填充,并且无法识别平移手势。有了断点,一切都按设计进行。
该应用程序有 2 个视图控制器:一个父 vc 和一个抽屉 vc,它被添加到父级:
override func viewDidLoad() {
super.viewDidLoad()
let vc = UIStoryboard.init(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "BottomSheetViewController") as! DrawerViewController
vc.configureDrawer(containerView: drawerContainer, overlaidView: overlaidView)
drawerContainer.addSubview(vc.view)
}
解决方案 与断点无关,那只是侥幸。 @rob mayof 指出的问题是子视图控制器和父视图控制器未连接。正确的解决方案如下所示。供可能面临此问题的其他人参考,Apple 在https://developer.apple.com/library/archive/featuredarticles/ViewControllerPGforiPhoneOS/ImplementingaContainerViewController.html 中描述了实现这些问题的正确方法。
脚注 这个例子是为了在一个更大的项目中重现和隔离问题而开发的。在尝试这样做时,发现了这种意外行为并找到了解决方案。
【问题讨论】:
标签: ios swift xcode uiviewcontroller