5

何らかの理由でUITableView、iPhone 5の場合、カットオフが発生します。画面全体にテーブルビューが表示される代わりに、青い背景が表示されます。基本的に、3.5インチの画面を使用しているように動作します。動作するのは、シミュレートされたメトリックでビューを「Retina 4フルスクリーン」に設定した場合のみです。しかし、それに関する問題は、反対の問題が発生することです。 3.5インチの画面で。これがいくつかの写真です(ビューは現在、シミュレートされたメトリックで「フリーフォーム」に設定されています):

ここに画像の説明を入力してください ここに画像の説明を入力してください

私は同様の質問を探してみましたが、誰も助けになりませんでした。それが助けになるなら、私はMainWindow.xibを持っています。私はこれをiPhone6.0シミュレーターとiPhone4S16GBを使用してテストしています。不明な点がある場合は、この質問を更新します。どんな助けでも大歓迎です。ありがとうございました。

4

5 に答える 5

6

適切な自動サイズ変更マスクが設定されていない可能性があります。マスクを just に設定してみてくださいUIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight

于 2012-12-02T08:21:48.023 に答える
2

これが私がしたことです。属性インスペクターでxibファイルサイズを3.5として開始しました

そして、私のView Controllerにはこのコードがあります.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

テーブルのサイズを変更し、1 つのプロパティを追加する必要がありますautoresizingMask

self.tableView.autoresizingMask = UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleHeight ;

tableView内部mainView(self.view)またはサブビューに追加するもう1つのこと。この問題が発生する可能性があります。

mainView のバインドとフレームを確認してください。

これがあなたを助けることを願っています。

于 2013-03-17T14:17:20.833 に答える
1

自動レイアウトを使用すると、テーブル ビューの 4 つの余白に制約を設定し、[制約の追加] をクリックするだけです。

ここに画像の説明を入力

于 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 に答える