【发布时间】:2023-04-02 01:53:01
【问题描述】:
使用 UIView 的 animateWithDuration:animations:completion:,我正在调整 UIView 和 UIView 的子视图,它是 UITableView 的子类。
UIView 可以很好地调整大小,但 UITableView 没有。它确实移动了一点,但框架没有正确更新并恢复到其原始状态。
编辑:如果我将调整大小移动到完成块......它可以工作。什么给了?
tweetTable.autoresizingMask = UIViewAutoresizingFlexibleWidth;
[tweetTable endUpdates];
[UIView animateWithDuration:DURATION animations:^{
CGRect leftFrame = leftPane.frame;
leftFrame.size.width = self.view.frame.size.width - MARGIN;
leftPane.frame = leftFrame;
leftPaneButton.frame = leftFrame;
CGRect tweetFrame = tweetTable.frame;
tweetFrame.size.width = leftPane.frame.size.width;
NSLog(@"%f to %f", tweetTable.frame.size.width, leftPane.frame.size.width);
tweetTable.frame = tweetFrame;
tweetTable.backgroundColor = [UIColor redColor];
tweetTable.alpha = 0.5f;
sideInfo.center = CGPointMake(self.view.frame.size.width - MARGIN + (sideInfo.frame.size.width / 2), sideInfo.center.y);
rightPaneButton.center = sideInfo.center;
} completion:^(BOOL finished) {
leftExtended = TRUE;
[tweetTable beginUpdates];
}];
【问题讨论】:
标签: ios objective-c uitableview uiview