我已将表视图添加到UI视图控制器。当我将手机旋转到横向模式时,单元格宽度并未完全填满视图。请参见下面的屏幕截图。
似乎无法在这里找到优雅的解决方案。
编辑:您可以下载我未在此处调整大小的横向视图示例:
答案 0 :(得分:7)
使用自动布局或相应的自动调整遮罩添加UITableView。
<强> 编程 强>
自动布局:
UITableView *tableView = [[UITableView alloc] init];
tableview.translatesAutoresizingMaskIntoConstraints = NO;
[self.view addSubview:tableView];
NSDictionary *viewsDictionary = @{@"tableView" : tableView };
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[tableView]|"
options:kNilOptions
metrics:nil
views:viewsDictionary]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[tableView]|"
options:kNilOptions
metrics:nil
views:viewsDictionary]];
自动调整面具
UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.bounds];
tableView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
[self.view addSubview:tableView];
INTERFACE BUILDER / STORYBOARD
自动布局:
控制从表格视图拖动到超级视图并添加这些约束:
自动调整蒙版(无自动布局):
如果您使用手动帧操作
,这些应该是表视图的自动调整遮罩
<强> 注 强>
在严肃的态度中,我尽可能清楚地告诉你,要适当地调整你的视野以使其灵活。如果您很难理解这一点,那么我建议您回过头来看看开始iOS开发的一些教程。 RayWenderlich是启动iOS时所能想到的一切的惊人资源。
<强>更新强>
您的测试项目增加了约束。它实际上花了我大约5秒钟来完成它。看看iPhone故事板。
答案 1 :(得分:0)
看起来苹果iOS 7方向调整大小表视图有一些问题。
在正确的位置使用以下内容可以解决问题。
[self.tableView reloadRowsAtIndexPaths:[self.tableView indexPathsForVisibleRows]
withRowAnimation:UITableViewRowAnimationNone];
除此调用外,如果需要,还可能需要根据cellforRowIndexPath
数据源中的新方向大小更改宽度。