0

私のオープニング画面 (私のアプリのメイン画面) は、すべてがプログラムによって行われる UIView です。「設定」画面に XIB を使用したかったのですが、ステータス バーの上部に奇妙な完全に黒いバーが表示されます。

NIBロード後の画面

次のように切り替えます。

[[NSBundle mainBundle] loadNibNamed:@"ISViewController" owner:self options:nil];
self.view.transform = CGAffineTransformMakeRotation(-(M_PI * (90) / 180.0));
self.view.frame = [UIScreen mainScreen].applicationFrame;

回転させる必要がありましたが、CGAffineTransformMakeRotation をコメントアウトしても黒いバーが表示されます。「ステータスバー」と呼ばれるXIB設定は「ライトコンテンツ」に設定されています。

XIB 画面を終了すると、次のコマンドを使用して元のビューに戻ります。

self.view = jViewLayer;

でも黒帯はそのまま!奇妙なことに、ビューの境界も実際にはステータス バーの高さだけ下に移動しました (これは、XIB を起動して戻った後にのみ発生します)。これは、私を助けようとしている人に何が起こっているかの手がかりになるかもしれません。皆さんありがとう

4

1 に答える 1

0

理由がよくわかりませんが、上記のコードを置き換え、代わりにこのコードを使用すると問題が解決しました:

[[NSBundle mainBundle] loadNibNamed:@"ISViewController" owner:self options:nil];
self.view.transform = CGAffineTransformMakeRotation(-(M_PI * (90) / 180.0));
CGRect menuNibFrame = CGRectMake(0, 0, 768, 1024);
self.view.frame = menuNibFrame;

[UIScreen mainScreen].applicationFrame] について私が理解できない奇妙なことがあります。

于 2013-11-17T22:15:53.707 に答える