0

我目前正在使用 UITableView,我正在使用以下代码行调整它的大小:

[UIView animateWithDuration:0.25 animations:^{
    [self.tableView setFrame:CGRectMake(0, 0, 320, 177)];
}];

调整大小后,它看起来像这样:

在此处输入图像描述

但是当我将一个项目添加到表中时,它会变回原来的位置。没有方法/功能可以将其移回该位置,这使得这非常混乱。

我发现这只发生在我使用自定义单元格时,更具体地说,是在向其中添加元素(UILabel、按钮等)时。

有什么建议可能是错的吗?

4

1 回答 1

2

检查您的NIB(或故事板)中的UITableView。转到尺寸检查器并单击红色的 Autosizing 箭头以关闭 UITableView 的 Autosizing。通常 UITableViews 在笔尖中默认是自动调整大小的。

或者

检查您的 ViewController 上是否启用了自动布局。您可能必须将其关闭以防止 UITableView 调整大小。

  1. 在 Storyboard 或 NIB 中选择 ViewController
  2. 单击 Xcode 窗口右侧的“文件检查器”选项卡
  3. 在“界面生成器文档”部分下,取消选中“使用自动布局”

希望这可以帮助某人。自动布局有时会给我带来这样的挫败感。

或者如果您的项目需要自动布局,请使用变换而不是像这样的框架进行动画处理:

[UIView animateWithDuration:0.25 animations:^{
     self.tableView.transform = CGAffineTransformMakeScale(2.0f, 2.0f);
}];
于 2013-05-22T19:44:03.680 回答