nilMy 앱이 몇 가지 검사를 실행 한 다음 내 애플리케이션이 활성화 될 때 언제든지 UIAlertView
을 표시해야합니다. 이렇게하려면 didBecomeActiveNotification
에 등록하고 여기에서 내 확인을 실행하십시오. 내 UIAlertView
가 초기 출시 중에 튀어 나올 때마다UIAlertView 시작시 경고 메시지가 발생합니다.
문제는,이 메시지 "응용 프로그램은 응용 프로그램 실행의 끝에서 루트 뷰 컨트롤러가 예상된다"원인이 발생합니다. 나는 viewDidAppear:
앞에 UIAlertView
이 표시되어 있기 때문에 이런 현상이 일어나고 있다고 생각합니다.
내 UIAlertView
을 발생 시키려면 어떻게해야합니까? didBecomeActiveNotification
이 아닌 경우 어떻게해야합니까?
2012-03-16 12:21:47.238 App[4181:707] viewDidLoad:
2012-03-16 12:21:47.462 App[4181:707] didBecomeActiveNotification:
2012-03-16 12:21:47.793 App[4181:707] Applications are expected to have a root view controller at the end of application launch
2012-03-16 12:21:48.500 App[4181:707] viewDidAppear:
편집 :이 작업을 새 프로젝트에서 실행하려면 다음을 수행하십시오.
한 새로운 프로젝트 -> 단일보기 응용 프로그램
Viewcontroller.m에서이 추가 ViewController.m에서 viewDidLoad:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didBecomeActiveNotification:) name:UIApplicationDidBecomeActiveNotification object:nil];
3 다음 다음과 같은 방법을 추가
-(void)didBecomeActiveNotification:(NSNotification *)notification
{
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:nil message:nil delegate:self cancelButtonTitle:@"ok" otherButtonTitles: nil];
[alertView show];
[alertView release];
}
4 빌드 및 실행
어떻게'didBecomeActiveNotification'에 등록 않았다 ? –
'[NSNotificationCenter defaultCenter] addObserver : 셀렉터 : @selector (didBecomeActiveNotification :) 이름 : UIApplicationDidBecomeActiveNotification 객체 : nil]; ' – trapper
을 사용하여'viewdidLoad' 안에'applicationDidBecomeActive' * 및 *에서 app-delegate에 경보를 표시하려고했습니다. 당신이 제공 한 코드로 등록 된 루트 컨트롤러의'didBecomeActiveNotification'에서 - 둘 다 작동합니다. 루트 뷰 컨트롤러 초기화로 앱에 특별한 것이 있다고 생각하십니까? –