3

私は非常に簡単にビューをロードしています:

self.splashView = [[[NSBundle mainBundle] loadNibNamed:@"DownloadingData"
                                                        owner:nil options:nil] objectAtIndex:0];
[self.view addSubview:self.splashView];

これは、ステータスバー、トップバー、ボトムバーがなしに設定された、ポートレートモードのフルハイト4インチ網膜ビューです。画像が下部に沿って配置されるなどの制約があります。アプリの他の場所のコントローラー内で同様のビューを使用すると、サイズが変更されます。 (NavigationBarとTabBarを使用して)使用可能なスペースに入れることはまったく問題ありませんが、ペン先から直接ロードされてから追加されたこのビューは、制約を無視しているように見えます。

ビューは、ナビゲーションバー/タブバーの組み合わせの有無など、あらゆる種類の状況での使用を目的としています。

私はsplashViewsetNeedsLayoutでのさまざまな組み合わせを試しました。ビュー自体setNeedsUpdateConstraintsも呼び出してみました。layoutSubviews

誰かアドバイスはありますか?この場合、私はそれを別の方法で行うべきですか?おそらくviewControllerを使用するか、コードに制約を手動で追加しますか?

4

1 に答える 1

6

まあ、それは本当に明白だったと思います:

self.splashView = [[[NSBundle mainBundle] loadNibNamed:@"DownloadingData"
                                                 owner:nil options:nil] objectAtIndex:0];
[self.view addSubview:self.splashView];
[self.splashView setFrame:self.view.frame];

次に、自動サイズ変更/制約が期待どおりに機能します。

于 2012-10-17T11:41:14.960 に答える