Можно ли использовать анимированный вид в качестве экрана запуска?
Я хочу сделать launch screen
с animating view
так что для этого я должен использовать story board or a xib/nib
потому что это невозможно с помощью Apple's default launchScreen
, Но когда я собираюсь сделать это использовать XIB в качестве экрана запуска, естьerror
лайк launch screen may not have connections
, Существует любой другой способ использовать XIB или раскадровку в качестве launchScreen
, Любая помощь будет оценена.
4 ответа
Вы не можете создать экран запуска с анимацией, но вы можете создать поддельный контроллер представления заставки и добавить анимацию:
Вот пример проекта, в котором я использовал LaunchScreen.storyboard
как... экран запуска и в котором я создал FakeSplashScreenViewController
в Main.storyboard
, Этот контроллер представления является корнем моего окна. Я положил анимацию в viewDidLayoutSubviews
:
[super viewDidLayoutSubviews];
[UIView animateWithDuration:3.f
animations:^{
self.myView.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height); // implement your anim here
} completion:^(BOOL finished) {
// Change the root view controller
UIViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewController"];
UIApplication *application = [UIApplication sharedApplication];
AppDelegate* appDelegate = application.delegate;
appDelegate.window.rootViewController = vc;
}];
Нет, это невозможно сделать стандартными инструментами.
Вы можете создать простой экран, показать анимацию, загрузить удаленную информацию и вызвать вызов.
Я выбираю этот путь.
Вы можете использовать приведенный ниже код. Это может помочь вам.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if(isAnimationShow)
{
//do code for show animation in ViewController file.
ViewController *objlogin = [STORY_BOARD instantiateViewControllerWithIdentifier:@"ViewControllerVC"];
[self pushViewController:objTimeSheetVC];
}
else
{
HomeVC *demoViewController = [STORY_BOARD instantiateViewControllerWithIdentifier:@"HomeVC"];
[self pushViewController:objTimeSheetVC];
}
}