出于某种原因,UITableView
在iPhone 5上切断了。而不是在整个屏幕上看到桌面视图,我只看到蓝色背景。基本上,它的行为就像我使用的是3.5英寸屏幕一样。唯一可行的是我在模拟指标中将视图设置为“Retina 4 Full Screen”。但问题是我遇到了相反的问题3.5英寸屏幕。这是一些图片(视图目前在模拟指标中设置为“自由形式”):
我试过寻找类似的问题,但都没有帮助。如果它有帮助,我有一个MainWindow.xib。我正在使用iPhone 6.0模拟器和iPhone 4S 16GB进行测试。如果有什么不清楚,我会更新这个问题。任何帮助表示赞赏。谢谢。
答案 0 :(得分:6)
您可能没有设置正确的自动调整遮罩。尝试将蒙版设置为UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight
。
答案 1 :(得分: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);
}
答案 2 :(得分:1)
您需要调整表格大小,添加一个属性autoresizingMask
。
self.tableView.autoresizingMask = UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleHeight ;
您在tableView
或任何子视图中添加mainView(self.view)
还有一件事。你可能有这个问题。
检查mainView的边界和框架。
希望这会对你有所帮助。
答案 3 :(得分:1)
使用自动布局,您只需为表格视图的四个边距设置约束,然后单击添加约束
答案 4 :(得分:0)
尝试其中一项,看看它们是否有帮助:
myTableView.view.frame = self.view.bounds;
// or
myTableView.view.frame = self.view.frame;