文档章节

3DTouch使用

ONEPIECE_iOS
 ONEPIECE_iOS
发布于 2016/02/26 19:45
字数 395
阅读 66
收藏 1
- (void)createDynamicShortcutItems {

    // create several (dynamic) shortcut items
    UIApplicationShortcutItem *item1 = [[UIApplicationShortcutItem alloc]initWithType:@"Item 1" localizedTitle:@"Item 1"];
    UIApplicationShortcutItem *item2 = [[UIApplicationShortcutItem alloc]initWithType:@"Item 2" localizedTitle:@"Item 2"];
    UIApplicationShortcutItem *item3 = [[UIApplicationShortcutItem alloc]initWithType:@"Item 3" localizedTitle:@"Item 3"];

    // add all items to an array
    NSArray *items = @[item1, item2, item3];

    // add the array to our app
    [UIApplication sharedApplication].shortcutItems = items;
}

修改

- (void)modDynamicShortcutItems
{
    NSArray <UIApplicationShortcutItem *> *existingShortcutItems = [[UIApplication sharedApplication] shortcutItems];
    
    NSInteger anIndex = 1;
    UIApplicationShortcutItem *anExistingShortcutItem = [existingShortcutItems objectAtIndex: anIndex];
 
    NSMutableArray <UIApplicationShortcutItem *> *updatedShortcutItems = [existingShortcutItems mutableCopy];
    
    UIMutableApplicationShortcutItem *aMutableShortcutItem = [anExistingShortcutItem mutableCopy];
    [aMutableShortcutItem setLocalizedTitle: @"New Title"];
    [updatedShortcutItems replaceObjectAtIndex: anIndex withObject: aMutableShortcutItem];
    [[UIApplication sharedApplication] setShortcutItems: updatedShortcutItems];
}


静态info.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
	<dict>
		<key>UIApplicationShortcutItemIconType</key>
		<string>UIApplicationShortcutIconTypeSearch</string>
		<key>UIApplicationShortcutItemSubtitle</key>
		<string>shortcutSubtitle1</string>
		<key>UIApplicationShortcutItemTitle</key>
		<string>shortcutTitle1</string>
		<key>UIApplicationShortcutItemType</key>
		<string>$(PRODUCT_BUNDLE_IDENTIFIER).First</string>
		<key>UIApplicationShortcutItemUserInfo</key>
		<dict>
			<key>firstShorcutKey1</key>
			<string>firstShortcutKeyValue1</string>
		</dict>
	</dict>
	<dict>
		<key>UIApplicationShortcutItemIconType</key>
		<string>UIApplicationShortcutIconTypeShare</string>
		<key>UIApplicationShortcutItemSubtitle</key>
		<string>shortcutSubtitle2</string>
		<key>UIApplicationShortcutItemTitle</key>
		<string>shortcutTitle2</string>
		<key>UIApplicationShortcutItemType</key>
		<string>$(PRODUCT_BUNDLE_IDENTIFIER).Second</string>
		<key>UIApplicationShortcutItemUserInfo</key>
		<dict>
			<key>secondShortcutKey1</key>
			<string>secondShortcutValue1</string>
		</dict>
	</dict>
</array>
</plist>

swift



官方参考 :

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplicationShortcutItem_class/index.html#//apple_ref/doc/uid/TP40016501-CH1-SW8

文档 概述https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/Adopting3DTouchOniPhone/3DTouchAPIs.html#//apple_ref/doc/uid/TP40016543-CH4-SW1

http://ourjs.com/detail/560baa8ee3312b046d27f53a

UITouch对象中的压力属性

在iOS 9中,UITouch类获得了两个全新的属性帮助你在应用中自定义3D Touch: force 和maximumPossibleForce

这些属性可以让你侦测并响应APP接收的IEvent对象中的触摸压力。
在iPhone上,触控压力感应有很大的动态范围,对于你的应用来说它是个浮点值。
有关更多自定义使用压力值对3D Touch的实现,请阅读以下资料:


© 著作权归作者所有

共有 人打赏支持
ONEPIECE_iOS
粉丝 2
博文 32
码字总数 13071
作品 0
石景山
【iOS Framework】新特性3DTouch

1、按压图标 弹出菜单 像上图那样,按压图标 弹出菜单。这是应用最多的场景。那么如何实现呢?有两种方法: 静态的: 在info.plist添加如下键值对,每一个Item代表一个标签按钮,你可以添加标...

魔笛GNR
2016/07/21
0
0
iOS Swift4项目EFarm学习和总结

Swift项目 先上一个码云地址码云地址 项目的简单介绍 项目编写过程和一些知识点 这个项目从Xcode的singleView模板创建而来, 经过文件整理归类和修改创建了一个标准易于维护的最终模板, 你可以...

iShown
2017/09/22
0
0
苹果的3D Touch技术为何惨淡收场?

9月21日消息,苹果的3D Touch功能为什么会惨淡收场呢?外媒Hackernoon从用户体验的角度分析了其中的原因,称该技术实用性不强,没有给iPhone的交互方式带来任何改进,而且与iPhone原有的轻触...

程序师
09/23
0
0
仿微博照片选择器--HXWeiboPhotoPicker

仿微博照片选择器 - 支持 LivePhoto、GIF 图片选择、3DTouch 预览功能等。 支持功能: 1、 查看/选择GIF图片 2、 照片、视频可同时多选/原图 3、 3DTouch预览照片 4、 长按拖动改变顺序 5、 ...

枫叶丶
2017/03/14
225
0
iOS系统3DTouch全解析

概述 iOS10系统登录中国,在系统中对3D Touch的使用需求更频繁,所以对iOS9中便引入的3D Touch功能做一些了解是很有必要的 在日常开发中,我们经常需要使用3D Touch中的两个功能 在主屏幕上对应...

秦无炎
2016/11/14
9
0

没有更多内容

加载失败,请刷新页面

加载更多

10-《深度拆解JVM》JVM是怎么实现invokedynamic的?(下)

一、问题引入 上回讲到,为了让所有的动物都能参加赛马,Java 7 引入了 invokedynamic 机制,允许调用任意类的“赛跑”方法。不过,我们并没有讲解 invokedynamic,而是深入地探讨了它所依赖...

飞鱼说编程
25分钟前
0
0
457. Circular Array Loop

Description Difficulty : Medium You are given an array of positive and negative integers. If a number n at an index is positive, then move forward n steps. Conversely, if it's n......

52iSilence7
40分钟前
1
0
MySQL SQL 常见用法

某字段重复记录 select a.fieldA from tableA a group by a.fieldA having count(a.fieldA)>1;==select * from (select a.fieldA, count(1) as faCount from tableA a group......

园领T
今天
1
0
如何使用 iptables 和 firewalld 工具来管理 Linux 防火墙规则

以下是如何使用 iptables 和 firewalld 工具来管理 Linux 防火墙规则。 防火墙 防火墙是一组规则。当数据包进出受保护的网络区域时,进出内容(特别是关于其来源、目标和使用的协议等信息)会...

linuxprobe16
今天
1
0
发生系统错误 5 拒绝访问

1、使用命令net start *开启一个服务的时候,出现发生系统错误5,拒绝访问。 解决:切换到管理员模式执行此命令即可。

fang_faye
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部