我在从子UICollectionViewController
属性访问父属性时遇到问题。
父级是模态的ChildViewController
,添加UICollectionViewController
的代码如下所示
let assetPickerController = AssetGridViewController(collectionViewLayout: GridFlowLayout())
addChildViewController(assetPickerController)
let childView = assetPickerController.view!
assetPickerController.par = self
assetPickerController.nav = self.navigationController
assetPickerController.didMove(toParentViewController: self)
AssetGridViewController
具有以下代码,显示为nillet svc = self as! UIViewController
let parentSize = svc.parent!.view.frame.size
print(parentSize)
但是它可以获取
par
属性(由我自己创建)。我不太确定为什么会这样,这是一个UICollectionViewController
问题,还是因为它是模态下的子代而发生了? 最佳答案
将父级大小作为类的属性传递。
添加属性
var parentSize
进入assetPickerController,因此您可以执行
assetPickerController.parentSize = self.view.frame.size //Before didMove
assetPickerController.didMove(toParentViewController: self)