我遇到了编码不同屏幕尺寸的问题。我是以编程方式检查屏幕大小是什么,然后在检测到更大的屏幕时调整表格高度,否则为标准iPhone布局设置布局。检测到更大的屏幕尺寸并正确调整工作台尺寸。当我在表上执行'reloadData'时,视图将恢复为较小的表。尺寸检查代码是逐步完成的,但似乎被忽略了?当我切换到另一个选项卡,然后返回到相关选项卡时,屏幕将重绘为更大的表格。下面是我用于屏幕检查的代码和一些显示更改表格大小的屏幕截图。发布所有内容的代码太多了。在此先感谢,有任何想法吗?
-(void)screenCheck
{
// detecting screen size
if (([UIScreen mainScreen].scale == 2) && ([[UIScreen mainScreen] bounds].size.height == 568))
{
// retina 4" screen
// changing table height
tableVerseView.frame = CGRectMake(tableVerseView.frame.origin.x, 215, tableVerseView.frame.size.width,260);
}
}
**调用代码的部分。还有很多其他的,主要是每次执行'reloadData'时
-(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
// reloading table data
[self loadVerses];
[self.tableVerseView reloadData];
// testing for no verses available
if ([tableVerseData count] > 0)
{
// selecting the previously selected table row
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:array_pos inSection:0];
[tableVerseView.delegate tableView:tableVerseView didSelectRowAtIndexPath:indexPath];
}
else
{
// clearing table view because there are no verses left
labelVerseText.text = @"You need to add a new Verse to your 'New Verses' Challenge List.";
labelVerseTitleOpen.text = @"Verse Title";
labelVerseDaysOpen.text = @"Day Count";
}
// screen resolutution check
[self screenCheck];
}