我将视图添加到TZStackView
中(基本上应该与UIStackView
相同,但对于旧版本应该是备用的),如下所示:
stackView.addArrangedSubview(subview)
stackView
和subview
具有动态大小(自动布局)并自行调整大小.但是,这发生在动画中(我认为由于addArrangedSubview
,如果我将它作为子视图添加并设置约束,则不会发生这种情况)。有什么办法让动画停用吗?
发布于 2017-06-20 04:26:24
在向UIStackView添加排列视图的同时禁用动画在iOS 9中不能正常工作。
解决方案是将加法与布局分开执行:
// Add all views first.
for view in views {
stackView.addArrangedSubview(view)
}
// Now force the layout in one hit, sans animation.
UIView.performWithoutAnimation {
stackView.setNeedsLayout()
stackView.layoutIfNeeded()
}
在iOS 9.3,Xcode 8.3.2上进行了测试。还没有在iOS 10或11上测试。
发布于 2016-02-16 18:15:30
UIView performWithoutAnimation:将在没有动画的情况下执行其块参数:
UIView.performWithoutAnimation {
stackView.addArrangedSubview(subview)
}
https://stackoverflow.com/questions/35439390
复制相似问题