1

我有一个 UIView mainView,里面有 2 行单元格。每个单元格都是一个 UIView,它使用以下方法添加到 mainView:

[mainView addSubiew:cell];

当点击第 2 行的一个单元格时,我将所有第 2 行的单元格移动到第 1 行:

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.25];
[UIView setAnimationDelay:0.0];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

//change frame.origin.y of each row 2 cell to that of the cell right above it

[UIView commitAnimations];

上面的工作非常好。但是,在此之后,我正在尝试调整 mainView 的大小:

CGRect newFrame = mainView.frame;
newFrame.size.height -= cellHeight;  //cellHeight is the size of a cell
mainView.frame = newFrame

现在,上面的动画和 mainView 的大小调整都不起作用。

我把上面所有的动画代码都注释掉了,发现自己调整mainView的大小也不起作用。

mainView 设置如下:

mainView.autoresizingMask = UIViewAutoresizingFlexibleTopMargin |
                            UIViewAutoresizingFlexibleWidth;
mainView.clipsToBounds = YES;

不知道发生了什么:(

4

0 回答 0