这个简单的类允许您用您自己的自定义卡片视图替换 iOS7 应用切换器中的默认缩放后的应用界面。
它是下面这篇博客文章中概述的 ideas 的演示:这篇博客文章,并是即将推出的 ClockShots 时间追踪应用 的一部分。
请务必查看 Adam Bell 的这篇文章 这里。他描述了许多很酷的技巧(比如动画?),其中一些对于 App Store 来说太厉害了,但如果你是内部应用的开发者,它们会很有用。
如果您想试一试,只需将 MMAppSwitcher.h 和 MMAppSwitcher.m 输入到项目中,或者更简单,使用 CocoaPods 并将 MMAppSwitcher
添加到 Podfile 中即可
pod 'MMAppSwitcher'
在将提供卡片视图的类中
#import "MMAppSwitcher.h"
然后将其设置为数据源
[[MMAppSwitcher sharedInstance] setDataSource:self];
协议只有一个您需要实现的方法
-(UIView *)appSwitcher:(MMAppSwitcher *)appSwitcher viewForCardWithSize:(CGSize)size;
每当应用进入后台时,您的自定义卡片视图将被查询并添加到您应用的观点层次结构中,并随后在应用切换器中呈现。当应用启动时,卡片视图将自动消失。
如果您的应用支持 iOS7 的后台模式之一,您可以通过在任何应用为后台工作唤醒时调用 [[MMAppSwitcher sharedInstance] setNeedsUpdate]
来刷新您的卡片视图。对于后台获取,例如将是
- (void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
[[MMAppSwitcher sharedInstance] setNeedsUpdate];
completionHandler(UIBackgroundFetchResultNewData);
}
如果您的应用支持推送通知,iOS7 现在还允许发送静默推送通知来唤醒您的应用,但保持它在后台。这应该能够让您远程控制卡片更新(至少如果您不做过多这项操作,并且不会被节流)。
感谢以下设计师和 The Noun Project 使用他们令人惊叹的图标使演示更美观