0

iPadアプリのUIViewsで少しトリッキーなことをしようとしています。このビュー構造を例にとってみましょう。

ビュー1>ビュー2>ビュー3

3つのビューはすべて同じサイズであり、すべて互いに重ねて表示されていることに注意してください。ビュー1はビュー2の親であり、ビュー2はビュー3の親です。ユーザーは現在、ビュー3を一番上に表示しています。

現在の表示を変更せずに、ビュー2を削除し、すべてのサブビューを含むビュー3をビュー1にアタッチしたいと思います。基本的に、バックグラウンドでビュー2を取り除きます。そのように使用することはできませんremoveFromSuperview。ビュー3(ユーザーが現在見ているもの)も削除されます。

3つのビューすべてを追加の親ビューの子にする方がおそらく理にかなっていると思いremoveFromSuperviewます。そうすれば、好きなようにできます。ただし、誰かが上記のようなものを作成したかどうかは本当に興味があります。仕事。

4

1 に答える 1

1

私があなたがやろうとしていることを正しく理解していれば、これはうまくいくはずです:

[view1 addSubview:view3];
[view2 removeFromSuperview];

UIViewクラス参照から:

ビューは1つのスーパービューのみを持つことができます。ビューにすでにスーパービューがあり、そのビューがレシーバーではない場合、このメソッドは、レシーバーを新しいスーパービューにする前に、以前のスーパービューを削除します。

于 2012-10-01T08:07:57.947 に答える