2

私がやっていることはこれです:

UIViewController *rootController = [[[UIApplication sharedApplication] keyWindow] rootViewController];
AlarmRingViewController *alarmController = [[AlarmRingViewController alloc] init];
[rootController presentViewController:alarmController animated:YES];

これで達成したいのは、現在表示されている他のコントローラーの上に私のAlarmRingViewControllerをプッシュすることであり、これまでのところ機能しています。

これが良い習慣であるかどうか疑問に思っています:

  • 提示する必要があるたびに新しいviewControllerを開始する
  • 非UI関連のクラスでそうしますか? (私の場合は NSTimer のスケジューラ)
  • そこから、rootViewController を上にして、新しく作成された viewController をプッシュします。

それとも、これは MVC パターンや Apple のガイドラインなどに違反していますか? 乾杯

4

2 に答える 2

0

UINavigationController をルート ビュー コントローラーとして使用してみませんか。そうすれば、これを行うことができます:

AlarmRingViewController *alarmController = [[AlarmRingViewController alloc] init];
[self.navigationController presentViewController:alarmController animated:YES completion:nil];
于 2013-04-11T17:06:56.147 に答える