ios - 设置 preferredContentSize 值似乎为时已晚
问题描述
我已经模态地展示了视图控制器,它打开了另一个视图控制器(我们称之为 secondVC)。根据设计,secondVC 的高度大于 firstVC,我尝试了很多方法来改变 secondVC 的大小,例如:
override var preferredContentSize: CGSize {
get {
return self.tableView.contentSize
}
set {}
}
或者
override func viewWillAppear(_ animated: Bool) {
self.preferredContentSize = self.tableView.contentSize
}
此外,我尝试在之前设置它:
let vc = SecondVC()
vc.preferredContentSize = CGSize(width: UIScreen.main.bounds.width, height: 500)
show(vc, sender: nil)
通过设置preferredContentSize,我的 secondVC 的高度发生了变化,但为时已晚,这个动画看起来很丑。
请帮忙!
解决方案
preferredContentSize是 UIContentContainer 协议的一部分,并且是 响应子视图控制器逻辑中的更改的一部分。资源
仅当 VC 具有父控制器(是容器视图的子视图)时,preferredContentSize才有效。您可以通过测试 VC 的“父”属性来检查它。
推荐阅读
- java - log4j2 StringMapMessage 无法获取自定义消息
- python - 如何在基于 Keras 的 CNN 中包含自定义过滤器?
- html - 角度6的未知属性
在此上下文中,这与有关角度材料表的任何其他问题均不重复。所有这些其他都是指角度 2-5,而不是 6
我得到了这个例外:
无法绑定到“dataSource”,因为它不是“table”的已知属性。("
][dataSource]="dataSource" class="mat-elevation-z8">
如果我删除 [da
- c++ - 缓冲区填充了不同类型的数据,以及严格的别名
- swift - IUO 作为 Swift 4.2 中的字典键
- java - hadoop中如何创建datanode路径?
- c# - 如何使用 jQuery 不显眼的验证从表单字段中删除“必需”设置
- python - 如何正确地将类型提示添加到 Mixin 类?
- ios - 将 ImageView 放在 iOS 中的另一个图像上
- java - mongo spring如何根据嵌套数组中的值对结果进行排序