我正在尝试通过在 animationWithDuration block 中使用自动布局来更改 tableview 框架。就这样;
[UIView animateWithDuration:0.3f animations:^{
weekdayOffersVerticalConstraint.constant = 80;
[headerView layoutIfNeeded];
[weekdayTableView layoutIfNeeded];
self.isTableViewSmall = YES;
} completion:^(BOOL finished) {
}];
我的 tableview 的框架随着这个代码块而改变,但是当我向下滚动时,单元格从左侧到右侧,我认为它与 [weekdayTableView layoutIfNeeded];
layoutIfNeeded 效果有关所有 subview 。如何阻止影响我的 tableview 的单元格?
对不起,我的英语不好,非常感谢您的回答和建议。
在开始动画之前调用 layoutIfNeeded
以更新约束:
[headerView layoutIfNeeded];
[weekdayTableView layoutIfNeeded];
[UIView animateWithDuration:0.3f animations:^{
weekdayOffersVerticalConstraint.constant = 80;
[headerView layoutIfNeeded];
[weekdayTableView layoutIfNeeded];
self.isTableViewSmall = YES;
} completion:^(BOOL finished) {
//
}];
您可能也不想在动画 block 内设置该 BOOL
属性,除非您有一个在动画期间有意覆盖它的方法。
关于ios - 使用自动布局更改带有动画的 tableview 帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29923980/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |