Я использую UITableViewController как popover в моем MainViewController. То, что я хочу достичь, - это обнаружить щелчки таблицы и выполнить некоторые действия в моем MainViewController. Как мне это достичь?Как определить события щелчка в popover? (Swift)
Это, как я создаю поповер:
let count = sender.dropdownItems?.count
let storyboard : UIStoryboard = UIStoryboard(name: "Main",bundle: nil)
var menuViewController: MoreTableViewController = storyboard.instantiateViewControllerWithIdentifier("moreTable") as! MoreTableViewController
menuViewController.data = sender.dropdownItems!
menuViewController.modalPresentationStyle = .Popover
menuViewController.preferredContentSize = CGSizeMake(300, 44*CGFloat(count!))
let popoverMenuViewController = menuViewController.popoverPresentationController
popoverMenuViewController?.permittedArrowDirections = .Any
popoverMenuViewController?.delegate = self
popoverMenuViewController?.sourceView = sender
presentViewController(menuViewController,animated: true,completion: nil)
Это MoreTableViewController:
import UIKit
class MoreTableViewController: UITableViewController {
//var data: [MoreItem]?
var data = [MoreItem]()
override func viewDidLoad() {
super.viewDidLoad()
tableView.scrollEnabled = false
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return data.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("moreCell", forIndexPath: indexPath) as! MoreTableViewCell
cell.label.font = UIFont.fontAwesomeOfSize(17)
cell.label.textColor = UIColor.init(hexString: MyConstants.COLOR_GREY)
cell.label.text = data[indexPath.row].label
return cell
}
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
print("Do something in MainViewController")
}
}
вы имели в виду передать данные обратно в предыдущий контроллер представления? – jo3birdtalk