【问题标题】:Fullscreen UIView will not animate its appearance全屏 UIView 不会为其外观设置动画
【发布时间】:2011-12-29 23:22:42
【问题描述】:

我需要一些帮助来完成一些基本的过渡工作。我想我在概念上不明白这一点。

我加载了一个主视图,该视图在其 viewDidLoad 中加载了一个“登录屏幕”。 “登录屏幕”是一个自定义 xib + 自定义视图控制器。 加载方式如下:

ISSplashScreenViewController* splashScreenController = [[ISSplashScreenViewController alloc] initWithNibName:@"ISSplashScreen" bundle:nil];
[UIView beginAnimations:nil context:nil];

[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:splashScreenController.view cache:YES];
[UIView setAnimationDuration: 1.5];

[splashScreenController viewWillAppear:YES];
[self.view addSubview:splashScreenController.view];
[splashScreenController viewDidAppear:YES];

[UIView commitAnimations];

我只能看到状态栏动画(我认为这是因为它隐藏在主窗口中,但我在登录屏幕的 viewDidLoad 中调用它)。

登录屏幕的正文“刚刚出现”。

我想知道是否有人可以解释为什么这不起作用,也许会建议我可以做些什么来使它起作用。我想我必须从应用程序的子视图中删除主视图,然后加载登录视图。

我也试过这个,但它不起作用。主视图就在那里。

[splashScreenController viewWillAppear:YES];
[self.view.superview addSubview:splashScreenController.view];
[self.view.superview bringSubviewToFront:splashScreenController.view];
[self.view removeFromSuperview];
[splashScreenController viewDidAppear:YES];

非常感谢任何帮助,

谢谢

【问题讨论】:

    标签: iphone objective-c ios cocoa-touch uiview


    【解决方案1】:

    尝试使用self.view 而不是启动画面控制器的视图调用-setAnimationTransition:forView:cache:

    【讨论】:

    • 我试过了,没有任何改变。我尝试为两个控制器设置动画,现在状态栏出现的速度是原来的两倍。不过,我试图加载的视图仍然没有动画。
    猜你喜欢
    • 2012-06-17
    • 1970-01-01
    • 2011-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-15
    • 1970-01-01
    相关资源
    最近更新 更多