23

ナビゲーションコントローラーのすべてのビューで背景画像を一定に保つ方法はありますか?現在、各ビューのメソッドで同じ背景を読み込んでいますviewDidLoadが、これは、ビュー間を移動するときに背景画像が移動することを示しています。背景の「スライド」オン/オフ画面の前にあるビューのコンテンツだけが欲しいのですが、背景は静止したままです。これは私の現在の背景画像の読み込みコードです:

UIImageView *background = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
background.image = [UIImage imageNamed:@"InfoBackground.png"];
[self.view addSubview:background];
[self.view sendSubviewToBack:background];
[background release];

ありがとう!

4

3 に答える 3

29

うーん、おそらくドキュメントを見ると(図2までスクロールダウン)、何を扱っているのかがわかります。UINavigationControllerにプッシュされている各ViewControllerの背景画像を設定しているため、そのアニメーションを取得できます。あなたがする必要があるのは、navコントローラー自体に背景画像を設定することです。

myNavController.view insertSubview:myImageView atIndex:0はうまくいくはずだと信じています。画像をコンテンツビューの背後に正確に入力する必要がある場合は、ナビゲーションコントローラーのプロパティからアクセスできるナビゲーションバーとツールバーの座標や高さに基づいてフレーム座標を設定できます。そうでない場合は、フレームをスーパービューの境界に設定するだけです。

どうなるか教えてください。

編集:ああ、各ビューコントローラの背景が透明であることを確認する必要があることに注意してください。

于 2012-10-27T03:13:38.353 に答える
1

ウィンドウに背景画像を配置し、すべてのビュー(すべてのビューコントローラのビュー)の背景色をクリアカラー[UIColorclearColor]に設定することをお勧めします。

于 2012-10-27T03:48:27.860 に答える
1

背景画像を静的にしたい場合は、1つの方法しかありませんが、それが可能かどうかはわかりません。画像をウィンドウに配置し、ナビゲーションコントローラを透明にすると、何をするにしても静的なままになります。プッシュまたはポップ中にウィンドウを変更しないためです。

私はちょうど私がこのように試したことがないこの方法を試すことを提案しています。

于 2012-10-27T11:01:17.233 に答える