我有一个导航视图,我的第二个视图将包含一个包含自定义UITableViewCell
的表格。
我有2个问题
当我尝试在水平方向打开应用程序(导航到第二个视图),然后在纵向模式下旋转设备,然后我在表视图部分中滚动。
当我以纵向打开第二个视图(在导航中)然后将设备旋转到水平并尝试滑动以获取删除按钮时,它在水平方向上不起作用。
删除按钮覆盖我的标签
我使用了自定义UITableViewCell, AutoLayout and Storyboards
我还上传了我的项目以供参考 Link
提前致谢。 !!
答案 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。