我有几个视图控制器('从'视图控制器)连接到一个视图控制器ItemCollectionVC
。
当提供ItemCollectionVC
时,我想知道哪个视图控制器呈现它。
如何做到这一点?如何知道哪个视图控制器呈现视图控制器
'从' 视图控制器:
@IBAction func selectOpponentItems(_ sender: UIButton) {
let VC = storyboard?.instantiateViewController(withIdentifier: "ItemCollectionVC") as! ItemCollectionVC
VC.preferredContentSize = CGSize(width: UIScreen.main.bounds.width/2, height: UIScreen.main.bounds.height/1.5)
VC.modalPresentationStyle = UIModalPresentationStyle.popover
VC.popoverPresentationController?.sourceView = sender
VC.popoverPresentationController?.sourceRect = sender.bounds
self.present(VC, animated: true, completion: nil)
}
ItemViewController:
override func viewDidLoad() {
super.viewDidLoad()
self.collectionView!.register(UICollectionViewCell.self, forCellWithReuseIdentifier: reuseIdentifier)
}
编辑:
我试图访问属性是这样的:
switch self.presentingViewController!.title! {
// Error
case "CounterBuildVC":
dataSourceItems = counterBuildItems
case "FreeBuildVC":
dataSourceItems = freeBuildItems
case "KrakenViewController":
dataSourceItems = captureKrakenItems
default:
break
}
However, it crashes with error: unexpectedly found nil, I'm sure I set the title in storyboard
你可以通过'self.presentingViewController'方法实现这一点。 –
[Access模式视图控制器父]可能的重复(http://stackoverflow.com/questions/6735170/access-modal-view-controller-parent) – Larme