ユーザーの自動ログインを行うアプリを入手しました。サーバーにログインすると、「ログイン中...」というメッセージが表示された 50% の透明なビューが表示され、ユーザーが他の操作を行うことができなくなります (HIG までにそれを行うべきかどうかについて私と議論しないでください。何かを行うには、ユーザーにログインさせる必要があります)。だから私がしたことは、IBでxib LoadingMessageViewControllerを作成し、メインのView Controllerで- (void)viewDidLoad()
、View Controllerを初期化して実行すること[self.view addSubview:LoadingMessageViewController.view]
でした。
ポートレート モードでは問題なく動作しますが、ランドスケープ モードでは機能しません。この問題についてたくさんの投稿を見ましたが、実際には何もうまくいきませんでした。
autoresizingMask を true に設定し、IB で autosizing を設定し、[[[window subviews] objectAtIndex:0] addSubview:LoadingMessageViewController.view]
代わりに使用しようとしました[self.view addSubview:LoadingMessageViewController.view]
。を使用する際の問題は、[[window subviews] objectAtIndex:0]
それが で発生することです-(void)ViewDidLoad
。その時点では、ビューはまだ画面へのロードを実際には完了しておらず、その時点でのサブビューは nil であり、objectAtIndex を呼び出すと範囲外のポインターが発生します。
正しい方向に向けてください。
私の投稿を読んでくれてありがとう。
これは次のようになります。