0

appDelegateにはビューがなく、ウィンドウだけがあるため、そこからビューをロードする方法を理解するのは困難です。私の問題は長い間、didReceiveLocalNotificationが起動すると、そのイベントで新しいビューを読み込めないことでした。私はそれについて何かをしなければならないところまでそれを回避してきました。addSubviewを実行しようとすると、xcodeでエラーが発生します。

インスタンスメッセージのレシーバーtupe'UIWindow'は、セレクター'addSubView'を使用してメソッドを宣言しません

このために:([self.windowaddSubView:view];で)

screwLightBulbViewController *view = [screwLightBulbViewController newMyView];
[self.window addSubView:view];

appDelegateファイルにaddSubviewがないことは理解していますが、起動時に特定のビューに切り替えたいと思います。

私は、screwLightBulbViewControllerで関数を呼び出して、そこからビューを作成するなど、他の多くの方法を試しました。viewControllerの関数は次のようになります。

+(id)newMyView
{
    UINib *nib = [UINib nibWithNibName:@"MyView" bundle:nil];
    NSArray *nibArray = [nib instantiateWithOwner:self options:nil];
    screwLightBulbViewController *me = [nibArray objectAtIndex: 0];
    return me;
}

どんな形であれどんな助けでも本当にありがたいです、そしてあなたの時間に感謝します。:)

4

1 に答える 1

2

そうでaddSubviewはありませんaddSubView:UIWindowのサブクラスですUIView

通常、ビューをサブビューとしてウィンドウに直接追加することはお勧めできません。代わりに、ビューをサブビューとしてトップ コントローラー ビューに追加してみてください。時間があれば、ビュー プログラミング ガイドビュー コントローラ プログラミング ガイドに目を通してください。将来役に立つでしょう。

于 2012-01-29T11:59:21.660 に答える