У меня есть два контроллера вида (рекордер и плеер) с tapGuestureRecognizers внутри. Я пытаюсь использовать оба в одном месте, позволяет называть его контейнер-контроллер, и сменяющих друг с другом с методами:Multiply ViewControllers with GuestureRecognizers
private func displayContentController(content: UIViewController) {
addChildViewController(content)
content.view.frame = view.frame
view.addSubview(content.view)
content.didMoveToParentViewController(self)
}
private func hideContentController(content: UIViewController) {
content.willMoveToParentViewController(nil)
content.view.removeFromSuperview()
content.removeFromParentViewController()
}
Это код вид контейнера контроллер:
private let recorder = CMRecorder()
private let player = CMPlayer()
override func viewDidLoad() {
super.viewDidLoad()
displayContentController(recorder)
recorder.finishRecordingCallback = { url in
self.hideContentController(self.recorder)
self.displayContentController(self.player)
}
}
Все это нормально с записью на рекордере, но игрок не хочет распознавать мои краны. Если я сменю рекордер с игроком (так что плеер загружен первым), у игрока нет проблем с распознавателем. Что я упустил?