IOS调整滚动视图通过containerview里面
tavleview我的观点一个结构:IOS调整滚动视图通过containerview里面
vc -view
--safe area
--scrollview
---view
----containerview1
----containerview2
----containerview3
-----tableviewcontroller(in containervew3)
Tableviewcontroller具有添加或删除行按钮,我想调整滚动视图,它显示完整的实现代码如下内容(无需滚动实现代码如下)。我试图解决像:从here或Sizing a Container View with a controller of dynamic size inside a scrollview但没有成功。我使用iOS 10.0 & swift
回答:
首先是约束。你必须有适当的约束与UIScrollView
和容器的观点
你需要接下来的事情是tableviewController
高度限制(可以给予高度0与关系比等于750的优先级更高,从而约束永远不会打破,如果发生了什么错误)
当您的数据插入/删除发生时,将IBOutlet的高度限制发生,您的内容大小将发生变化并将contentize设置为IBOutlet约束的常量,并且不会忘记layoutIfNeeded。
让你的tableview滚动弹跳假
创建以通知高度变化容器视图
protocol ContainerTableDelegate { func dataChanged(height: CGFloat)
}
当高度变化通知父视图控制器
delegate?.dataChanged(self.heightConstraint.constant)
现在在主viewcontroller你有所有容器
实施
override func prepare(for segue: UIStoryboardSegue, sender: Any?)
识别的ViewController委托设为self
实施委托和改变容器视图3恒定的高度(你还需要这一点)
希望这将有助于解决您的问题
以上是 IOS调整滚动视图通过containerview里面 的全部内容, 来源链接: utcz.com/qa/266518.html