我使用accessoryButtonTappedForRowWith
呈现我的viewController:
let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let popoverContent = storyboard.instantiateViewController(withIdentifier: "Test")
popoverContent.modalPresentationStyle = .popover
if let popover = popoverContent.popoverPresentationController {
let viewForSource = self.createCharacterView 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: 200)
popover.delegate = self
}
self.present(popoverContent, animated: true, completion: nil)
弹出工作并且看起来很好,只是我呈现的viewController需要tableViewCell的标签。我能够得到变量,但我不确定如何将变量传递给popover因为没有调用segue我不认为我能够使用prepare(for segue: UIStoryboardSegue, sender: Any?)
。
这太简单了:
popoverContent.variableName = passingVariable
您可能需要将popOvercontent转换为特定的viewController
(popoverContent as? MyViewController).myVar = value