0

さまざまな画面サイズのコーディングに問題があります。プログラムで画面サイズを確認し、より大きな画面が検出された場合はテーブルの高さを調整します。それ以外の場合、レイアウトは標準の 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];
}
4

0 に答える 0