2017-03-01 59 views
0

我提出我的viewController像这样使用accessoryButtonTappedForRowWith斯威夫特3传递变量PopupViewController

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) 

的弹出工程和看起来很好它只是说我提出需求到tableViewCell的标签的viewController。我能够获得变量,但我不确定如何将变量传递给popover,因为不会调用segue,我不认为我能够使用prepare(for segue: UIStoryboardSegue, sender: Any?)

+0

在navigationController呈现。 –

+1

可能的重复[传递变量之间没有Segues的故事板 - Swift](http://stackoverflow.com/questions/32051629/passing-variables-between-storyboards-without-segues-swift) – Tj3n

+0

我可能不明白你是什么说,但我不希望viewController成为堆栈的一部分,或让视图导航到任何地方。 – Torewin

回答

0

这是太简单了:

popoverContent.variableName = passingVariable 
0

您需要嵌入的viewController,您可能需要投你popOvercontent给你具体的viewController

(popoverContent as? MyViewController).myVar = value