iOS 9 之 3D touch

来源:互联网 发布:网络晒娃 编辑:程序博客网 时间:2024/05/17 07:15

程序员的世界里面从来不缺厉害的人

根据苹果的说法,3D Touch 只能在iPhone 6s 和 iPhone 6 plus 的真机上使用,但是有人做了 SBShortcutMenuSimulator 这个插件

这里说说怎么让我们的应用支持3d touch

先看看效果图




插件的使用这里暂不作表述,添加支持方法有两种

一种静态方法:通过添加修改info.plist 文件来增加item

另一种动态方法:通过代码来添加

这里阐述的是第二种

iOS9 在3D touch中展示出来的是一个数组,数组里面的元素是一个

UIMutableApplicationShortcutItem
这个对象的创建通过方法来实现

- (instancetype)initWithType:(NSString *)type localizedTitle:(NSString *)localizedTitle localizedSubtitle:(nullable NSString *)localizedSubtitle icon:(nullable UIApplicationShortcutIcon *)icon userInfo:(nullable NSDictionary *)userInfo NS_DESIGNATED_INITIALIZER;

参数type:表示的是这个item的类型,字符串类型,可以通过bundle ID 来设置代替

参数localizedTitle: 表示的是显示的标题

参数icon:表示的是每个item对应的图标,,可以为空

参数userinfo:表示的是传递的参数

设置好后,将它们添加到application的数组中就可以显示了

    NSMutableArray *shortcutItems = [application.shortcutItems mutableCopy];        [shortcutItems addObject:shoutItem];    application.shortcutItems = shortcutItems.copy;


当我们点击其中的一个选项后,会执行方法

- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void(^)(BOOL succeeded))completionHandler NS_AVAILABLE_IOS(9_0);

通过

    NSDictionary *dict = [shortcutItem userInfo];
来确定点击的是哪个按钮来判断下一步操作


我们也可以在启动的时候,通过判断键值,来判断是从哪里启动的

    UIApplicationShortcutItem *shortcutItem = [launchOptions objectForKey:UIApplicationLaunchOptionsShortcutItemKey];




0 0
原创粉丝点击