Начальная страница за 5 секунд после файла default.png и до MainWindow.nib

Я создал проект, где default.png спит в течение 3 секунд, а затем MainWindow.xib загружен, я хотел создать новый IntroPageViewController.xib перед FirstPageViewController.xib загружает Я хотел поместить текст в IntroPage, который загружается на 10 секунд и имеет кнопку пропуска. Я уже создал FirstPageViewController.xib сейчас хочу загрузить IntroPageViewController.xib в applicationdidfinishlaunching,

Я пытался внести изменения в FirstPageAppDelegate.h и.m но все же FirstPageViewController.xib загружает и если я внесу изменения в info.plist загрузить IntroPageViewController.xib или же IntroPageViewController приложение вылетает. Нужна помощь, пожалуйста.

Большое спасибо заранее:)

С уважением, Кодер

2 ответа

Решение

Вместо того, чтобы загружать IntroPageViewController.xib перед FirstPageViewController.xib вручную, попробуйте следующее:

  • Когда FirstPage загрузится, покажите представление IntroPage поверх него.
  • После задержки или нажатия кнопки пропуска удалите IntroPage.

Вот как:

Сделайте IntroPageViewController с соответствующим файлом XIB.
В XCode, установите кнопку и метод действия для этой кнопки.

// in your .h file.   

@interface IntroViewController : UIViewController {
    UIButton *skipButton;
}  

@property (nonatomic, retain) IBOutlet UIButton *skipButton;

-(IBAction)skipPressed;

@end  

// in the .m file  

-(IBAction)skipPressed {
    [self.view removeFromSuperview]; // this removes intro screen from the screen, leaving you FirstView
}

// put this in the viewDidLoad method
- (void)viewDidLoad {
    [super viewDidLoad];

    [self performSelector:@selector(skipPressed) withObject:nil afterDelay:5];
}

// add these in FirstViewController.m  

#import "IntroViewController.h"  

- (void)viewDidLoad {
    [super viewDidLoad];

    IntroViewController *introViewController = [[IntroViewController alloc] initWithNibName:@"IntroViewController" bundle:[NSBundle mainBundle]];
    [self.view addSubview:introViewController.view];
    [introViewController release]; // this removes your IntroScreen from memory once it disappears offscreen
}

Теперь следующим шагом является открытие IntroViewController.xib в Интерфейсном Разработчике и перетаскивание кнопки UIB в представление, установите его заголовок на "Пропустить".

Подключите кнопку к действию skipPressed и подключите владельца файла к кнопке.

Вернитесь к Xcode и Build and Run, чтобы протестировать его. Если все хорошо, ваш IntroView должен быть виден во время запуска в течение 5 секунд или до тех пор, пока вы не нажмете кнопку Пропустить.

Используйте nstimer, чтобы создать таймер. Соответствующее действие будет выполнено через 10 секунд или при нажатии кнопки пропуска.

Другие вопросы по тегам