Swift - доступ к UIImagePickerController из модального вида - PullRequest
0 голосов
/ 14 января 2020

Есть ли способ для present UIImagePickerController из модального вида?

В моем случае у меня есть class с именем MakeWishView, который является UIView, и пользователь должен быть в состоянии выбрать изображение, если он нажмет на button внутри MakeWishView. Моя проблема сейчас в том, что я не могу позвонить present, потому что MakeWishView это не ViewController, а UIView.

Это то, что я хотел бы назвать:

@objc private func wishImageButtonTapped(){
    showImagePickerController()
    print("wishImageButtonTapped")
}

// image picker
extension MakeWishView: UIImagePickerControllerDelegate, UINavigationControllerDelegate {

    @objc func showImagePickerController(){
        let imagePickerController = UIImagePickerController()
        imagePickerController.delegate = self
        present(imagePickerController, animated: true, completion: nil) // -> error
    }
}

1 Ответ

1 голос
/ 14 января 2020

Добавить делегата к представителю v c, например

 class MakeWishView:UIView {
    weak var delegate:VCName?

или

 let root = (UIApplication.shared.delegate as! AppDelegate).window!.rootViewController
 root.present(imagePickerController, animated: true, completion: nil)  
...