Как передать данные обратно с PopoverViewController на главный контроллер представления на iPhone?Передача данных с контроллера popover view на iPhone
Я знаю, что я делаю что-то ужасно неправильно, но я не могу понять это.
Вот код: PopoverViewController.swift
protocol PopoverViewControllerDelegate {
func messageData(data: AnyObject)
}
class PopoverViewController: UIViewController {
@IBOutlet weak var inputMessage: UITextField!
var delegate: PopoverViewControllerDelegate?
@IBAction func sendData(sender: AnyObject) {
if inputMessage.text != ""{
self.presentingViewController!.dismissViewControllerAnimated(true, completion: nil)
self.delegate?.messageData(inputMessage.text!)
}
}
}
Главная ViewController.swift:
class ViewController: UIViewController, UIPopoverPresentationControllerDelegate, PopoverViewControllerDelegate {
@IBOutlet weak var showData: UILabel!
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// popover segue
if segue.identifier == "popoverSegue" {
let popoverViewController = segue.destinationViewController
popoverViewController.popoverPresentationController!.delegate = self
}
// code to comunicate with data in popoverViewController
let pvc = storyboard?.instantiateViewControllerWithIdentifier("popoverViewController") as! PopoverViewController
pvc.delegate = self
self.presentViewController(pvc, animated:false, completion:nil)
}
func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle {
return UIModalPresentationStyle.None
}
func messageData(data: AnyObject) {
self.showData.text = "\(data)"
}
}
С кодом выше я могу передать данные обратно в основной контроллер зрения без проблем, проблема в том, что popover не работает, он просто действует как обычный ViewController
, занимающий весь экран.
Самое смешное, что если я прокомментирую следующую строку кода, то popover работает, но я больше не могу передавать данные назад, я вижу popover, но данные передачи перестают работать.
У меня нет ошибок, один перестает работать.
Любые предложения?
Большое спасибо
@ vacawama - The поповер не работает, проезжающая работа данных, но поповер ViewController заполняет весь экран. Спасибо –
Вы выбрали 'presentAsPopover', когда вы подключили сегу в раскадровке? – vacawama
Да, да. Спасибо –