0

親ビューの後ろにサブビューを表示することはできますか? ビューが兄弟である場合、明らかにこれを行うことができます。ただし、私のビューは ViewController 階層の一部であり、私が知る限り、ViewController は複数のビューを持つことはできません。

言い換えれば、私はこの階層を持っています:

ViewController
-->ViewController's view
------>subview

基本的には、「サブビュー」を「ViewController のビュー」の背後に置きたいだけです。これはいずれもモーダルではありません。両方のビューが常に存在します。

コンテキスト: 「ViewController のビュー」は、OGL ベースのアプリケーションのメイン ビューです。メイン ビューの背後に一定の背景 (ユーザーが選択可能) を表示する必要があります。

4

2 に答える 2

0

おそらくUIImageViewなどのバックグラウンドビューを作成し、それをサブビューとして追加して背面に移動します。

UIImageView *backgroundImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yourImage.png"]];
[backgroundImage setFrame:CGRectMake(0, 0, 320, 480)];
[self.view addSubview:backgroundImage];
[self.view sendSubviewToBack:backgroundImage];

sendSubviewToBack:bringSubviewToFront:insertSubview:aboveSubview:insertSubview:belowSubview:、を使用して、サブビューの階層 (誰が誰の上にあるか) を編成できます。このinsertSubview:atIndex:プロパティは、すべてのサブビューの を画面に表示される順序で返します。exchangeSubviewAtIndex:withSubviewAtIndex:subviewsNSArray

于 2012-08-14T14:43:21.980 に答える
0

ジャスティンは正しいです。ビュー(1)を別のビュー(2)の上に配置すると、元のビュー(1)が見えなくなるため、質問は混乱します。viewControllerの「メイン」ビューの「後ろ」または「下」にサブビューを追加できるかどうかを尋ねるつもりだったと思います。答えはノーです。サブビューは「メイン」ビュー (viewcontroller のビュー プロパティ) にのみ追加できます。

ただし、バックグラウンド ビューをメイン ビュー (viewcontroller のビュー プロパティ) に追加してから、他のビューをその上に追加するだけです。

ところで、viewController は複数のビュー (メイン ビューとその子ビュー) を制御するためのものです。

于 2012-08-14T14:27:30.250 に答える