0

mainViewController があり、その nib ファイル内に情報ボタンを追加しました。このボタンでは、サブビュー A とサブビュー B の 2 つのサブビューを切り替えます。

mainViewController から、viewDidLoad の下にサブビュー A を挿入しています。ここで、情報ボタンがサブビュー A の前にあることに気付きましたが、これで問題ありません。

問題は、新しいサブビューを追加するサブビュー A の nib ファイル内にあるボタンを押すと、情報ボタンが前面に残ることです。

では、これらの後のサブビューをすべての親ビュースタックの前に追加して、情報ボタンが表示されないようにするにはどうすればよいですか? または、情報ボタンを非表示にするにはどうすればよいですか?

4

1 に答える 1

1

私の理解が正しければ、mainViewController のビューには subView A と infoButton の 2 つのスーパービューがあります。infoButton ビューの上に表示される subviewA にサブビューを追加しますか?

簡単な答えは、subviewA のサブビューを infoButton ビューの上に表示することはできないということです。ビュー階層をツリーと考えると、レンダラーは深さ優先でビューを描画します。これは、infoButton ビューを考慮する前に、subviewA と subviewA のすべてのサブビュー (な​​ど) を描画することを意味します。ビューを infoButton ビューの上に表示する場合は、メイン ビューのサブビュー リストで infoButton の後にinfoButton の兄弟として追加する必要があります。

infoButton を非表示にする場合は、hiddenプロパティを YES に設定し、infoButton ビューを再表示するときに NO に設定するだけです。

subviewA の操作内容によっては、モーダル ビュー コントローラーまたはナビゲーション コントローラーを使用して、ユーザーが subviewA を操作するときに追加するビューを管理することを検討してください。

于 2010-11-07T05:23:02.193 に答える