Следующее приложение Демонстрация ящика не будет работать правильно, пока я не добавлю точку останова, показанную в файле readme.Без точки останова пользовательский интерфейс не завершает заполнение, и жесты панорамирования не распознаются.С точкой останова все работает как задумано.
Приложение имеет 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.
Сноска Этот пример был разработан как попытка воспроизвести и изолировать проблемув гораздо большем проекте.Пытаясь сделать это, обнаружил это неожиданное поведение и нашел решение.