2016-02-24 2 views
0

У меня есть два контроллера вида (рекордер и плеер) с 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) 
    } 
} 

Все это нормально с записью на рекордере, но игрок не хочет распознавать мои краны. Если я сменю рекордер с игроком (так что плеер загружен первым), у игрока нет проблем с распознавателем. Что я упустил?

ответ

0

Я нашел проблему.

На мой взгляд, игрок контроллера я добавил ImageView и забыл установить:

thumbnailView.userInteractionEnabled = true