Ios 使用autolayout通过动画更改tableview帧
我试图通过在animationWithDuration块中使用自动布局来更改tableview帧。这样,Ios 使用autolayout通过动画更改tableview帧,ios,objective-c,uitableview,autolayout,Ios,Objective C,Uitableview,Autolayout,我试图通过在animationWithDuration块中使用自动布局来更改tableview帧。这样, [UIView animateWithDuration:0.3f animations:^{ weekdayOffersVerticalConstraint.constant = 80; [headerView layoutIfNeeded]; [weekdayTableView layoutIfNeeded];
[UIView animateWithDuration:0.3f animations:^{
weekdayOffersVerticalConstraint.constant = 80;
[headerView layoutIfNeeded];
[weekdayTableView layoutIfNeeded];
self.isTableViewSmall = YES;
} completion:^(BOOL finished) {
}];
我的tableview的帧随着这个代码块的变化而变化,但当我向下滚动时,单元格从左侧到右侧,我认为这与[weekdayTableView LayoutFneed]有关代码>布局需要对所有子视图产生效果。如何阻止对tableview单元格的影响
很抱歉我的英语不好,非常感谢您的回答和建议。在开始动画更新约束之前,请致电layoutifneed
:
[headerView layoutIfNeeded];
[weekdayTableView layoutIfNeeded];
[UIView animateWithDuration:0.3f animations:^{
weekdayOffersVerticalConstraint.constant = 80;
[headerView layoutIfNeeded];
[weekdayTableView layoutIfNeeded];
self.isTableViewSmall = YES;
} completion:^(BOOL finished) {
//
}];
您可能也不希望在动画块内设置该BOOL
属性,除非您有一个方法在动画期间有意覆盖该属性