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

我有2期


当我尝试以水平方向打开应用程序(导航至第二视图),然后以纵向模式旋转设备时,我在表视图部分得到了滚动。
当我以纵向打开第二个视图(在导航中),然后将设备旋转到水平并尝试滑动以获取删除按钮时,它特别不适用于水平方向。
删除按钮覆盖了我的标签


我已经使用过,自定义UITableViewCell, AutoLayout and Storyboards

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

提前致谢。 !!

最佳答案

您描述的所有问题都是由于布局错误所致。我已经下载了您的项目并进行了更正。我做了什么:
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

关于ios - UITableView删除按钮没有出现,并且也重叠了我的标签,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18317989/

10-14 23:03