0

我有一个导航视图,我的第二个视图将包含一个带有自定义的表格UITableViewCell

我有 2 个问题

  1. 当我尝试以水平方向打开应用程序(导航到第二个视图)然后以纵向模式旋转设备时,我会在表格视图部分滚动。

  2. 当我以纵向打开第二个视图(在导航中)然后将设备旋转到水平并尝试滑动以获取删除按钮时,它在水平方向上特别不起作用。

  3. 删除按钮覆盖了我的标签

我用过,自定义UITableViewCell, AutoLayout and Storyboards

我还上传了我的项目以供参考 链接

提前致谢。!!

4

1 回答 1

1

您描述的所有问题都是由错误的布局引起的。我已经下载了你的项目并更正了它们。我做了什么: 1.禁用自动布局。我这样做是为了简单。这可能也可以通过自动布局来完成,但在这种情况下,没有它会简单得多。2. 修复了表格视图和顶部标签的自动调整大小。3.修复了表格视图单元格标签的自动调整大小。这解决了删除按钮问题。

您可以在此处下载固定项目。

编辑: 如果你想使用自动布局,你必须编写一些自定义代码,如this answer中所述。

NSDictionary *dict = NSDictionaryOfVariableBindings(myLabel2);
[cell.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[myLabel2]|" options:0 metrics:nil views:dict]];

我已经用你的项目检查了代码并且它有效。您可以在此处下载自动布局版本。

编辑2: 要解决旋转问题,您可以在界面方向更改后重新加载表格视图:

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
    [super didRotateFromInterfaceOrientation:fromInterfaceOrientation];
    UITableView *tv = (UITableView *)[self.view viewWithTag:200];
    [tv reloadData];
}

在这里查看。

于 2013-08-19T16:41:27.223 回答