UITableView删除按钮不会出现,也会重叠我的标签

时间:2013-08-19 15:51:51

标签: ios uitableview autolayout

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

我有2个问题

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

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

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

  4. 我使用了自定义UITableViewCell, AutoLayout and Storyboards

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

    提前致谢。 !!

1 个答案:

答案 0 :(得分:1)

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

您可以下载固定项目here

修改 如果您想使用自动布局,您必须按this answer

中所述编写一些自定义代码
NSDictionary *dict = NSDictionaryOfVariableBindings(myLabel2);
[cell.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[myLabel2]|" options:0 metrics:nil views:dict]];

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

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

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

查看here