2017-01-25 4 views
0

Я пытаюсь создать пользовательскую камеру с помощью UIImagePickerController(). Я последовал за this учебником, и это действительно легко следовать. Но проблема в том, когда я пытаюсь изменить текст наложения shootButton в, или изображение из viewDidLoad()/любой другой метод из ViewController, а не didShoot (OverlayView: CustomOverlayView), я не могу изменить it.it не дает никаких ошибок, но не меняется. Вот что я пытался изменить текст или изображение -Не удается получить доступ к компонентам наложения

picker = UIImagePickerController() //make a clean controller 
    picker.allowsEditing = false 
    picker.sourceType = UIImagePickerControllerSourceType.camera 
    picker.cameraCaptureMode = .photo 
    picker.showsCameraControls = false 
    picker.cameraFlashMode = UIImagePickerControllerCameraFlashMode.on 
    //customView stuff 
    let customViewController = CustomOverlayViewController(
     nibName:"CustomOverlayViewController", 
     bundle: nil 
    ) 

    let customView:CustomOverlayView = customViewController.view as! CustomOverlayView 

    customView.frame = self.picker.view.layer.frame 

    customView.shootButton.setTitle("Changed", for: UIControlState.normal) 

    customView.shootButton.setImage(UIImage(named: "changedbutton"), for: .normal) 

    customView.delegate = self 

Может ли кто-нибудь помочь мне в этом? Я использую быстрые 3 и Xcode 8.2.1. Заранее спасибо.

ответ

0

Моя основная проблема заключалась в том, что когда я пытался изменить любой текст или изображение, я создавал другую ссылку CustomOverlayView и новый сборщик. Поэтому, когда я менял какой-либо текст или изображение, он менялся, но он не показывался, поскольку предыдущий выборщик все еще был на виду. С помощью одного сборщика и одной ссылки CustomOverlayView сделал трюк.

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