非推奨の presentModalViewController を presentViewController に置き換えるためにアプリを更新する一環として、いくつかのテストを行いました。私が見つけたのは気がかりなことでした。presentModalViewController は常に機能し、機能することに疑問の余地はありませんが、presentViewController メソッドでは VC がまったく表示されないことがよくあります。アニメーションはなく、表示されません。私の loadView は問題なく呼び出されますが、実際のビューは表示されません。
だからここに私がやっていることがあります:
- ユーザーがメイン ビュー コントローラーのボタンをタップします。
- そのタップのコールバックで、新しいビュー コントローラーを作成し、上記のように表示します。
- VC が表示されることはありません (断続的な問題ですが) が、この VC がオーディオの再生を開始するため、次のように loadView が呼び出されたことがわかります。
ボタンを押したときのコールバックは次のとおりです。
- (void) buttonTapped: (id) sender {
VC *vc = [[VC alloc] init];
[self presentViewController: vc animated:YES completion: nil];
[vc release];
}
VC クラスのロードビューは次のとおりです。
- (void) loadView {
UIView *v = [UIView new];
self.view = v;
[v release];
... create and addsubview various buttons etc here ...
}
ありがとう。