5

出于某种原因,在UITableViewiPhone 5 上会中断。我没有看到整个屏幕上的表格视图,而是看到了蓝色背景。基本上,它的行为就像我使用的是 3.5" 英寸的屏幕。它唯一有效的时候是我在模拟指标中将视图设置为 "Retina 4 全屏"。但问题是我遇到了相反的问题带有 3.5 英寸的屏幕。这里有几张图片(视图当前在 Simulated Metrics 中设置为“Freeform”):

在此处输入图像描述 在此处输入图像描述

我曾尝试寻找类似的问题,但没有任何帮助。如果有帮助,我确实有一个 MainWindow.xib。我正在使用 iPhone 6.0 Simulator 和 iPhone 4S 16GB 对此进行测试。如果有任何不清楚的地方,我会更新这个问题。任何帮助表示赞赏。谢谢你。

4

5 回答 5

6

您可能没有设置正确的自动调整大小蒙版。尝试将掩码设置为 just UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight

于 2012-12-02T08:21:48.023 回答
2

这就是我所做的。我在属性检查器中开始我的 xib 文件大小为 3.5

在我的视图控制器中,我有这段代码,请确保在 viewDidAppear 方法中更改框架

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    if ([self hasFourInchDisplay]) {
        self.myTableView.frame = self.view.frame;
    }
}

- (BOOL)hasFourInchDisplay {
    return ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone && [UIScreen mainScreen].bounds.size.height == 568.0);
}
于 2013-11-15T18:17:42.993 回答
1

您需要调整表格大小,添加一个属性autoresizingMask

self.tableView.autoresizingMask = UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleHeight ;

tableView您在内部mainView(self.view)或任何子视图中添加的另一件事。你可能有这个问题。

检查您的 mainView 的边界和框架。

希望这会帮助你。

于 2013-03-17T14:17:20.833 回答
1

使用自动布局,您可以为表格视图的四个边距设置约束,然后单击添加约束

在此处输入图像描述

于 2014-06-06T15:14:49.030 回答
0

尝试其中一种,看看它们是否有帮助:

myTableView.view.frame = self.view.bounds;
// or
myTableView.view.frame = self.view.frame;
于 2012-12-02T08:39:30.413 回答