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

回到顶部