2013-09-10 2 views
0

Скриж является первой страницей при запуске приложения. Пользователь может только нажать кнопку «принять» & для продолжения. Эта страница появляется только вначале &, когда пользователь нажал кнопку продолжения принятия &, эта страница не появляется при последующем запуске этого приложения. Только когда пользователь очистил все данные, относящиеся к этому приложению, эта страница появляется снова при запуске.UIViewController отображается один раз, когда приложение запускает

+0

хорошо, если можно затем удалить комментарий: \t нет проблем, просто сообщая вам – Sport

ответ

0

Вы можете использовать NSUserDefaults

// При запуске в первый раз установленного значения, как это:

[[NSUserDefaults standardUserDefaults] setValue:@"YES" forKey:@"LaunchingFirstTime"]; 

после этого

NSString *launch = [[NSUserDefaults standardUserDefaults]valueForKey:@"LaunchingFirstTime"]; 

if([launch isEqualToString:@"YES"]){ 
    //Don't Show Screen 
} 
else{ 
    //Show Screen 
} 

Надеюсь, что это помочь вам

+0

Xman я использовал этот логическую единицу (пустоты) viewDidLoad welcomePage * Темп = [[welcomePage Alloc] initWithNibName: @ "welcomePage" пучок: ноль]; [self presentViewController: temp animated: YES завершение:^(void) {}]; } else { NSLog (@ "screen"); }, но его отображение Предупреждение: попытайтесь представить в , чей вид не находится в иерархии окон! и приветственный экран не пришел – Sport

+0

@Ram: это проблема ... –

+0

эта логика работает, но когда я сделал приложения, и снова его появление – Sport

1
  1. Создать один контроллер вида. И загрузите его в начале приложения.
  2. Когда пользователь нажимает «принять & продолжить», продолжайте и сохраните одно значение BOOL в Plist, NSUserDefault.
  3. При загрузке приложения в следующий раз проверьте это значение и покажите экран в зависимости от сохраненного значения BOOL.
  4. Сделайте то же самое, когда пользователь очистит данные.
0

Кажется, что вы говорите о заставке. Если вы хотите, чтобы некоторые пользовательские кнопки, такие как «Принять» и «продолжить», вы можете создать собственное представление и вызвать этот вид из метода didFinishLaunching из AppDelegate. При нажатии кнопки вы можете добавить соответствующие методы.

0
if ([[NSUserDefaults standardUserDefaults] boolForKey:IS_FIRST_LOGIN]) 
{ 
    showYourPage(); 
} 
#########In your Page####### 
-(void) acceptButtonClicked 
{ 
    [[NSUserDefaults standardUserDefaults] setBool:NO forKey:IS_FIRST_LOGIN]; 
} 
+0

я использовал эту логику внутри viewDidLoad, но ее не работает, показывая Предупреждение: Попытка представить в , чей вид не находится в иерархии окон! – Sport

0

вы можете сделать это, как это

self.userDefaults = [NSUserDefaults standardUserDefaults]; 
NSString *str = [self.userDefaults valueForKey:@"SecondLaunch"]; 
NSLog(@"the string value is : %@",str); 

if ([str isEqualToString:@"Second"]) { 
    NSLog(@"It's Second Launch"); 
} else { 
    NSLog(@"It's First Launch"); 
    [self.userDefaults setObject:@"Second" forKey:@"SecondLaunch"]; 
    [self.userDefaults synchronize];   
} 
Смежные вопросы