首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >没有动画的addArrangedSubview

没有动画的addArrangedSubview
EN

Stack Overflow用户
提问于 2016-02-16 17:39:03
回答 2查看 5.2K关注 0票数 13

我将视图添加到TZStackView中(基本上应该与UIStackView相同,但对于旧版本应该是备用的),如下所示:

代码语言:javascript
运行
复制
stackView.addArrangedSubview(subview)

stackViewsubview具有动态大小(自动布局)并自行调整大小.但是,这发生在动画中(我认为由于addArrangedSubview,如果我将它作为子视图添加并设置约束,则不会发生这种情况)。有什么办法让动画停用吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-20 04:26:24

在向UIStackView添加排列视图的同时禁用动画在iOS 9中不能正常工作。

解决方案是将加法与布局分开执行:

代码语言:javascript
运行
复制
// 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上测试。

票数 27
EN

Stack Overflow用户

发布于 2016-02-16 18:15:30

UIView performWithoutAnimation:将在没有动画的情况下执行其块参数:

代码语言:javascript
运行
复制
UIView.performWithoutAnimation {
    stackView.addArrangedSubview(subview)
}
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35439390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档