2016-12-12 2 views
0
import UIKit 

class DrawingTransistionViewController: UIViewController, 
    UIImagePickerControllerDelegate, 
    UINavigationControllerDelegate 
{ 
    override func viewWillAppear(_ animated: Bool) 
    { 
     let imagePicker = UIImagePickerController() 

     imagePicker.delegate = self 
     imagePicker.sourceType = .camera 

     self.present(imagePicker, animated: true, completion: nil) 
    } 
} 

В настоящее время, когда код запускается, он открывает камеру, но когда вы выходите из камеры, камера снова открывается, потому что вид снова появляется. Поэтому я застрял в постоянном цикле. Я хочу, чтобы камера открывалась только один раз при переходе между просмотром. Я уже пробовал viewWillDisappear(), viewDidAppear и viewDidDisappear(), но не имел никакого успеха.камера открыта с точки зрения перехода в iOS

Это единственная полезная документация, которую я смог найти, но не имел большой удачи. https://developer.apple.com/reference/uikit/uiviewcontroller#//apple_ref/doc/uid/TP40006926-CH3-SW18

Любые идеи?

Thanks

ответ

0

Я не совсем понял ваш вопрос. Решение Uglu состоит в том, чтобы просто поместить boolen isCameraOpen, и перед открытием камеры открываются только aks. В первый раз, когда вы открываете, просто установите для этого bool значение true. Почему вы не используете viewDidLoad?

+0

Не используйте 'viewDidLoad'. – rmaddy

+0

Не могли бы вы написать, почему? Не говоря, что ты не прав, я просто хочу знать, почему это так плохо. Никогда не приходилось делать это сам, это было просто препонизацией. – Markicevic

+0

Я пробовал viewDidLoad, но он не работает. Я не могу сказать, почему. Я хотел бы знать, почему бы и не использовать viewDidLoad. –

Смежные вопросы