Попробуйте отправить данные из второго элемента панели вкладок в первый, а затем обратно в первый, как я могу это сделать? - PullRequest
0 голосов
/ 02 июня 2019

У меня есть приложение с панелью вкладок с 2 элементами. Первое - это главная панель вкладок, а второе - встроенная камера с кнопкой. Когда я нажимаю кнопку, я хочу передать данные первому элементу панель вкладок, и после того, как она появится, я хочу перейти на панель вкладок первого элемента, как я могу это сделать?

// это часть первого элемента панели вкладок

override func viewDidDisappear(_ animated: Bool) {
    ImageView.image = UIImage()
    ageLbl.text = " "
    genderLbl.text = " "
    genderImage.image = UIImage()
}

override func viewWillAppear(_ animated: Bool) {
    print(imageToCheck.size)
    data()
}


override func viewDidLoad() {
    super.viewDidLoad()

    self.view.backgroundColor = UIColor(patternImage: UIImage(named: "Launch.png")!)
    self.title = "Main"
    ageLbl.text = " "
    genderLbl.text = " "


    }

// Часть моего второго элемента панели вкладок (встроенная камера)

override func viewDidLoad() {
    super.viewDidLoad()

        self.title = "Camera"
}
override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    prepareTheCamera()
}
override func viewDidDisappear(_ animated: Bool) {
    self.stopCaptureSession()

       }


 @IBAction func takephoto(_ sender: Any) {

    takePhoto = true
   self.dismiss(animated: true, completion: nil)

}


func captureAndSendOutput(_ output: AVCaptureOutput, didOutput sampleBuffer: CMSampleBuffer, from connection: AVCaptureConnection) {
    if takePhoto {

        let svc = tabBarController!.viewControllers![0] as! ViewController

            svc.getImage = true

            svc.imageToCheck = self.getImageFromSampleBuffer(buffer: sampleBuffer)!

        takePhoto = false


        }
    }

1 Ответ

0 голосов
/ 02 июня 2019

После того, как вы получили изображение от контроллера панели вкладок изменения метода getImageFromSampleBuffer selectedIndex, чтобы переключиться на контроллер первого вида

func captureAndSendOutput(_ output: AVCaptureOutput, didOutput sampleBuffer: CMSampleBuffer, from connection: AVCaptureConnection) {
    if takePhoto {
        if let svc = self.tabBarController?.viewControllers?.first as? ViewController,
            let image = self.getImageFromSampleBuffer(buffer: sampleBuffer) {
            svc.getImage = true
            svc.imageToCheck = image
            takePhoto = false
            self.tabBarController?.selectedIndex = 0
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...