Я искал вокруг, но к сожалению не имел никакой удачи.
Мое приложение требует, чтобы пользователь подписался в первый раз, когда он запускает приложение. Я знаю, как определить первый запуск (использующий NSUserDefaults), но каждый раз, когда я пытаюсь представить модальное, содержащее знак в/, подписывают средства управления, ничего не происходит.
Вот то, что я имею:
-(void)viewDidLoad {
[self showLogin];
[super viewDidLoad];
}
-(void)showLogin {
FlipsideViewController *controller = [[FlipsideViewController alloc] initWithNibName:@"AccountView" bundle:nil];
controller.delegate = self;
controller.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentModalViewController:controller animated:YES];
[controller release];
}
Однако ничего не происходит. Основное представление просто загружается как нормальное. Любая справка значительно ценится.
- Giles
.[UPDATE]
Исправлено простым использованием...
-(void)viewDidAppear:(BOOL)animated
{
}
вместо
-(void)viewDidLoad
{
}
Спасибо в любом случае!
/idiocy
У меня была такая же проблема и закончилась, используя ViewDidAppear. Единственная проблема с подходом ViewDiDiDAppear заключается в том, что если вы загружаете другие UIViewControllers сверху, то перезапустите базу, то код установки вызывается снова и снова. Я заканчивался, чтобы добавить логическое значение (инициализированное для да) на этот контроллер этого просмотра и проверьте это значение, прежде чем решить, что делать. Надеюсь, это поможет кому-то ...
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:(BOOL)animated];
if(justLaunched)
{
justLaunched = NO;
if(settingsFileExists)
{
[self displayMainView];
}
else
{
[self displaySetupView];
}
}
}
И вызовов это в ViewDidload
не очень безопасна: последовательность ViewDidload
/ ViewDidUnload
может возникать во время выполнения, когда iPhone должен выпустить несколько просмотров Для того, чтобы вернуть некоторую бесплатную память.
Побочный эффект такой последовательности заключался в том, что ваш контроллер входа будет показан ...
Как вы сказали ViewDiDiDAppear
выглядит лучше, но не просто положить его в конце appdidfinedlauching
Делегат вашего UIApplication
?
Как насчет использования performSelector: withObject: afterDelay в функции viewDidLoad? Вот как я это делаю, с небольшой задержкой в 0,1 с.