Ich habe einen ViewController, in dem ich ein TableView mit einer benutzerdefinierten TableViewCell habe, in dem ich ein paar View-Objekte und eine Schaltfläche hinzugefügt habe. Ich möchte einen anderen ViewController präsentieren, wenn ich auf die Schaltfläche in der Zelle geklickt habe und ich auch senden muss (tableCell Daten, wo das Klick-Ereignis aufgetreten ist) und Receive (ausgewählter Wert aus der PickerView und anderen Label-Text) aus dem Popup ViewController dann schließlich Ich brauche einen Weg (wie einen Knopf in der Nähe), um es zu schließen.Präsentiere einen ViewController als Popover
Ich bin in der Lage, die Daten der Zelle zu senden, wo das Click-Ereignis in der Zelle aufgetreten mit dem folgenden Code
@IBAction func cellBtnClicked(_ sender: Any) {
let foodItem:FoodItem?
let indexPath : IndexPath
if let button = sender as? UIButton {
let cell = button.superview?.superview as! UITableViewCell
indexPath = self.tableView.indexPath(for: cell)!
let hotel = hotels[indexPath.section]
foodItem = hotel.menu[indexPath.row]
dann bin ich, dass Zellendaten in den popover Controller geladen und versuche, es zu präsentieren, wie ein popover
let popoverContent = self.storyboard?.instantiateViewController(withIdentifier:"ShowPopoverVC") as! MiniCartVC
popoverContent.foodItem = foodItem
popoverContent.modalPresentationStyle = UIModalPresentationStyle.popover
if let popover = popoverContent.popoverPresentationController {
let viewForSource = sender as! UIView
popover.sourceView = viewForSource
// the position of the popover where it's showed
popover.sourceRect = viewForSource.bounds
// the size you want to display
popoverContent.preferredContentSize = CGSize(width: 200, height: 135)
popover.delegate = self
}
self.present(popoverContent, animated: true, completion: nil)
}
Aber es kommt nicht als popover statt wie ein segue, das gesamte View.Also Erweiterung brauche ich einen Weg, um die Daten von popover VC auf die MainVC darauf entlassen zu senden.
Bitte lassen Sie mich wissen, wenn es eine Möglichkeit gibt, es richtig zu implementieren. Jede Ressource als Referenzzweck ist auch in Ordnung, danke.
hier ein popover Tutorial -> https://www.youtube. com/watch? v = 48UA06EwfrM. Sie möchten auch das Delegatenmuster verwenden, um Daten von Ihrem Popover an den übergeordneten Ansichtscontroller zu senden. http://useyourloaf.com/blog/quick-guide-to-swift-delegates/ – Adrian