Пабло прав - вы можете просто использовать Default.png для этого.
Однако ваш код никогда не будет работать по двум причинам.
1)
Основным потоком приложения является поток пользовательского интерфейса, который отвечает за обновление интерфейса, и этот поток запускает ваш applicationDidFinishLaunching:
.
Если вы просто позвоните [NSThread sleepForIntervalTime:10]
, поток будет спать. Однако это также означает, что, пока поток спит, пользовательский интерфейс не будет обновляться. Затем, когда вы позвоните [view removeFromSuperview]
, он удалит изображение и продолжит. Вы никогда не увидите изображение!
Чтобы ваш код работал, вы должны сделать что-то вроде этого:
- (void)applicationDidFinishLaunching:(UIApplication *)application
{
[window addSubview: navigationController.view];
UIImage *image = [UIImage imageWithContentsOfFile:@"1.jpg"];
UIImageView *view = [[UIImageView alloc] initWithImage:image];
[window addSubView:view];
[view release];
[NSTimer scheduledTimerWithTimeInterval:10 target:self selector:@selector(removeImage:) userInfo:view repeats:NO];
[window makeKeyAndVisible];
}
- (void) removeImage:(NSTimer *)timer {
UIImageView *view = (UIImageView *)timer.userInfo;
[view removeFromSuperview];
}
Этот код покажет изображение в течение 10 секунд, а затем удалит его. Однако, если вы просто хотите, чтобы изображение при запуске, использовать Default.png, безусловно, способ сделать это!
2)
Вы добавили представление навигатора перед вашим изображением - в приведенном выше коде я переместил добавление вида навигатора до UIImage. Это означает, что изображение будет находиться перед навигатором в течение 10-секундной задержки, пока оно не будет удалено, открывая вид навигатора.
Надеюсь, это поможет,
Sam