2010-11-23 9 views
1

私はアプリケーションのメインUIViewをつかまえたいと思っています。これまでは、私は[[[self.view superview] superview] superviewにチェーンのトラバースを呼びかけてきました。これの問題は、私が行く必要があるレベルの数を絶対に確かめることができない可能性があるということです。方法はありますか?どのようにiPhone Appの最高レベルのSuperviewをつかむには?

  1. iPhoneアプリケーションの最高レベルのUIViewに直接移動しますか?

または、現在のスーパービューがアプリで最高レベルのUIViewのかどうかを確認しない場合は、

  1. チェック!

答えて

5

私はそれがあなたが最初に探しているものだとは思っていませんが、それは助けになるかもしれません。

ポップアップやその他の言うように、あなたには、いくつかの方法であるUIWindowを、使用することができ、サブビューを追加するために、上面図を見つけようとしている場合は、トップレベルのビュー:

UIWindow* window = [UIApplication sharedApplication].keyWindow; 
if (!window) { 
    window = [[UIApplication sharedApplication].windows objectAtIndex:0]; 
} 
[window addSubview:yourView]; 
+0

ああ!パーフェクトです!私はそのショットを与え、あなたに知らせるだろうが、私はそれがまさに私が探しているものだと思う! – jschmidt

+0

cool!それが機能する場合は、質問を閉じるために答えを受け入れることを忘れないでください。 – Romain

+0

絶対に、試してみるとすぐにやります。 – jschmidt

0

現在のビューのsuperviewプロパティがnullであるかどうかを確認するなど、これを上から外しますか?もし私がそれが根本的な見方であると推測するかもしれないと思います。

関連する問題