Как заставить заставку спать 4 секунды, пока пользователь не коснется экрана в iphone sdk - PullRequest
0 голосов
/ 04 октября 2010

Я использую заставку для своего приложения, когда оно начинает работать, и я усыпляю его на 4 секунды. Мне нужно, если пользователь нажимает на заставку раньше, чем за 4 секунды, он должен перейти к следующему экрану.предложите мне несколько идей.

Мой код, который я пробовал, был:

- (void)applicationDidFinishLaunching:(UIApplication *)application
{    

// Override point for customization after application launch



[self createEditableCopyOfDatabaseIfNeeded];
[self initializeDataStructures];

mainController = [[FavoritesViewController alloc] init] ;
 navController = [[UINavigationController alloc] initWithRootViewController:mainController];
navController.navigationBar.barStyle = UIBarStyleBlack;
[window addSubview:navController.view];
splashView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
splashView.image = [UIImage imageNamed:@"default.png"];
[window addSubview:splashView];
[window bringSubviewToFront:splashView];
sleep(4);
// Do your time consuming setup
[splashView removeFromSuperview];
[splashView release];
 [window makeKeyAndVisible];
}

Любая помощь будет высоко ценится.

1 Ответ

1 голос
/ 04 октября 2010

Ну, вы не показали нам никакого кода и не сказали, в чем заключается ваша настоящая проблема, но в псевдокоде я бы сделал что-то вроде этого:

- (void) start {
  [self showSplashScreen];
  fourSecondsRunning = YES;
  // In four seconds, call stop.
  [self performSelector:@selector(stop) withObject:nil afterDelay:4.0];
}

- (void) stop {
  // View wasn't tapped during the last 4 seconds. Do something.
  fourSecondsRunning = NO;
  [self hideSplashScreen];
  [self doSomething];
}

- (void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
  if (fourSecondsRunning) {
    fourSecondsRunning = NO;
    // Touched within the four seconds. Make sure "stop" is not called.
    [[NSRunLoop currentRunLoop] cancelPerformSelectorsWithTarget:self];
    [self hideSplashScreen];
    [self goToNextScreen];
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...