1

iPhoneのウィンドウにビューを追加する必要があるので、これをやろうとしました: [[UIApplication sharedApplication] windows]、しかし、配列にはウィンドウが1つしか含まれていません。

私が書いていないこと/何をする必要があるかを誰か教えてもらえますか?

4

4 に答える 4

3

試す

[[UIApplication sharedApplication] keyWindow];

アプリのウィンドウを見つけたい場合。

于 2009-12-10T08:42:11.623 に答える
2

AppDelegate クラスはウィンドウを (プロパティとして) 保持します。アプリケーションごとに 1 つのウィンドウしか取得できません。ほとんどの場合、ビューを AppDelegate からウィンドウに直接追加するだけで済みます。通常のサブビュー管理には、viewControllers を使用します。

于 2009-12-10T08:42:49.187 に答える
1

さて、私は問題を見つけました。実際には、条件が正しく設定されていないため、[[UIApplication sharedApplication] windows]ウィンドウが 1 つしか返されませんでした。それでも、[[UIApplication sharedApplication] keyWindow]例外をスローします。

MPVideoPlayerControllerプレイを開始すると新しいウィンドウの作成を開始するためでしたが、おそらくこの作業はすぐには終了しません。ほとんどすぐに作成されますが、すぐには作成されません。

于 2009-12-10T14:57:56.550 に答える
0

このようなことができます。

UIView *controllersView = [myViewController view];

[window addSubview:controllersView];
于 2009-12-10T08:43:59.720 に答える