首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >每次打开应用程序时运行动画

每次打开应用程序时运行动画
EN

Stack Overflow用户
提问于 2010-11-14 09:41:48
回答 4查看 1.5K关注 0票数 2

我在viewDidLoad中有一个动画,它在应用程序第一次启动时运行。如果您退出应用程序,然后再次启动它,动画将不会播放。

我该如何让动画在每次打开应用程序时播放,

谢谢你的帮助

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-11-14 09:48:45

在iOS 4中,按下主页按钮并不会终止应用程序,而是会暂停应用程序。当应用程序再次激活时,会发布一个UIApplicationDidBecomeActiveNotification。注册该通知并在您的处理程序中启动动画。

编辑:添加了下面的代码。

有一种方法可以做到这一点:让视图控制器成为UIApplicationDidBecomeActiveNotificationviewWillAppear:方法的观察者。

代码语言:javascript
复制
- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(performAnimation:) name:UIApplicationDidBecomeActiveNotification object:nil];
}

在视图控制器的viewDidDisappear:方法中取消注册通知。

代码语言:javascript
复制
- (void)viewDidDisappear:(BOOL)animated {
    [super viewDidDisappear:animated];
    [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidBecomeActiveNotification object:nil];
}

最后,将您的动画代码放在注册接收通知时指定的选择器中。

代码语言:javascript
复制
- (void)performAnimation:(NSNotification *)aNotification {
    // Animation code.
}
票数 11
EN

Stack Overflow用户

发布于 2010-11-14 09:49:01

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIApplicationDelegate_Protocol/Reference/Reference.html

将动画放在下面这样的方法中

代码语言:javascript
复制
applicationDidBecomeActive:

UIApplicationDelegate的

票数 2
EN

Stack Overflow用户

发布于 2010-11-14 09:50:53

很可能你的应用程序不会退出并重新加载。默认情况下,在iOS 4上,应用程序会在用户“退出”应用程序时继续运行,并在“重启”时继续运行。

看看你的应用委托中的applicationDidBecomeActive吧。当应用被停用时,你可以从那里开始你的动画。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4175729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档