Приложение nilMy должно запускать несколько проверок, а затем может отображаться UIAlertView
в любое время, когда мое приложение станет активным. Для этого я зарегистрировался на didBecomeActiveNotification
и запустил свой чек здесь.UIAlertView вызывает предупреждение при запуске
Проблема возникает всякий раз, когда мой UIAlertView
всплывает во время первоначального запуска, это приводит к тому, «Приложения должны иметь контроллер вида корень в конце запуска приложения» сообщения. Я предполагаю, что это происходит, потому что UIAlertView
показан до viewDidAppear:
.
Как я должен запускать свой 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:
Редактировать: Чтобы вызвать это в новом проекте, выполните следующие действия.
1 New Project -> Single View Application
2 В Viewcontroller.m добавить следующее viewDidLoad:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didBecomeActiveNotification:) name:UIApplicationDidBecomeActiveNotification object:nil];
3 В ViewController.m добавить следующий метод
-(void)didBecomeActiveNotification:(NSNotification *)notification
{
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:nil message:nil delegate:self cancelButtonTitle:@"ok" otherButtonTitles: nil];
[alertView show];
[alertView release];
}
4 Строительство и эксплуатация
Как вы зарегистрировались на 'didBecomeActiveNotification'? –
Внутри 'viewdidLoad', используя' [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector (didBecomeActiveNotification :) name: UIApplicationDidBecomeActiveNotification object: nil]; ' – trapper
Я попытался показать предупреждение в app-delegate на' applicationDidBecomeActive' * и * в корневом представлении контроллера 'didBecomeActiveNotification', зарегистрированном с кодом, который вы указали, - оба работают. Как вы думаете, что-то особенное в вашем приложении, возможно, с инициализацией контроллера корневого представления? –