ios10 3d touch怎么用中3dtouch有哪些新功能

iOS10中3D Touch新功能:控下载应用顺序 - 推酷
iOS10中3D Touch新功能:控下载应用顺序
苹果iOS 10开发者体验版已经有一段时间了,随着使用频率的增加,越来越多的隐藏功能不断被挖掘出来,而这次的最新隐藏功能与3D&&Touch压感操作有关。
3D&&Touch(图片来自cnbeta)
据外媒报道,在iOS10的使用中,如果你正在App&Store商店里下载多个应用,突然发现急需使用其中的一个,但它排在靠后的位置。iOS9和更早的系统里,你需要手动选择每一个下载的应用,分别暂停。但是到了iOS10,你可以通过3D&&Touch在需要提前使用的应用图标上呼出菜单,并选择优先下载。此时,iOS10就会暂停其他应用下载,优先完成你选择的。
不过,如果你想要使用这个功能,目前来看你的手机必须是iPhone6S或者iPhone&6S&Plus。
本文来源:中关村在线
责任编辑:佟扬_NT2439
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致ios 3D Touch功能的实现 - 推酷
ios 3D Touch功能的实现
ios9中3D Touch功能是一个新的亮点,这个方便快捷的功能实现也比较简单,废话不多说直接上代码,
一.3D Touch功能添加分为两种(1).静态标签 (2).动态标签
(1).静态添加
这个方法是在app的plist文件中添加如下图的键值对,
先添加了一个UIApplicationShortcutItems的数组,这个数组中添加的元素就是对应的静态标签,在每个标签中我们需要添加一些设置的键值:
必填项(下面两个键值是必须设置的):
UIApplicationShortcutItemType& 这个键值设置一个快捷通道类型的字符串&
UIApplicationShortcutItemTitle& 这个键值设置标签的标题
选填项(下面这些键值不是必须设置的) :
UIApplicationShortcutItemSubtitle& 设置标签的副标题
UIApplicationShortcutItemIconType& 设置标签Icon类型
UIApplicationShortcutItemIconFile & 设置标签的Icon文件
UIApplicationShortcutItemUserInfo& 设置信息字典(用于传值)
(2).动态标签
动态标签是我们在程序运行过程中动态添加上去的,可以修改或者直接取消,
与之相关的类,主要有三个:
UIApplicationShortcutItem& 创建3DTouch标签的类
UIMutableApplicationShortcutItem 创建可变的3DTouch标签的类
UIApplicationShortcutIcon 创建标签中图片Icon的类
@interface UIApplicationShortcutItem : NSObject &NSCopying, NSMutableCopying&
//下面是两个初始化方法 通过设置type,title等属性来创建一个标签,这里的icon是UIApplicationShortcutIcon对象,我们后面再说
- (instancetype)initWithType:(NSString *)type localizedTitle:(NSString *)localizedTitle localizedSubtitle:(nullable NSString *)localizedSubtitle icon:(nullable UIApplicationShortcutIcon *)icon userInfo:(nullable NSDictionary *)userInfo NS_DESIGNATED_INITIALIZER;
- (instancetype)initWithType:(NSString *)type localizedTitle:(NSString *)localizedT
//下面这是一些只读的属性,获取相应的属性值
@property (nonatomic, copy, readonly) NSString *
@property (nonatomic, copy, readonly) NSString *localizedT
@property (nullable, nonatomic, copy, readonly) NSString *localizedS
@property (nullable, nonatomic, copy, readonly) UIApplicationShortcutIcon *
@property (nullable, nonatomic, copy, readonly) NSDictionary&NSString *, id &NSSecureCoding&& *userI
接下来就是创建标签
手动添加3D touch功能
-(void)init3DTouchActionShow:(BOOL)isShow{
/** type 该item 唯一标识符
localizedTitle :标题
localizedSubtitle:副标题
icon:icon图标 可以使用系统类型 也可以使用自定义的图片
userInfo:用户信息字典 自定义参数,完成具体功能需求
UIApplication *application = [UIApplication sharedApplication];
UIApplicationShortcutIcon *icon1 = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeLove];
UIApplicationShortcutItem *item1 = [[UIApplicationShortcutItem alloc]initWithType:KTouchItemPublicPosition localizedTitle:@&我就是我& localizedSubtitle:@&还有什么& icon:icon1 userInfo:nil];
UIApplicationShortcutIcon *icon2 = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeShare];
UIApplicationShortcutItem *item2 = [[UIApplicationShortcutItem alloc]initWithType:KTouchItemMyPublic localizedTitle:@&你就是你& localizedSubtitle:@&你知道& icon:icon2 userInfo:nil];
UIApplicationShortcutIcon *icon3 = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeCompose];
UIApplicationShortcutItem *item3 = [[UIApplicationShortcutItem alloc]initWithType:KTouchItemRecharge localizedTitle:@&他就是他& localizedSubtitle:@&我不知道& icon:icon3 userInfo:nil];
UIApplicationShortcutIcon *icon4 = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeCompose];
UIApplicationShortcutItem *item4 = [[UIApplicationShortcutItem alloc]initWithType:KTouchItemCheck localizedTitle:@&她就是她& localizedSubtitle:@&不信算了& icon:icon4 userInfo:nil];
if (isShow) {
application.shortcutItems = @[item1,item2,item3,item4];
application.shortcutItems = @[];
动态方法添加可以在某个条件下取消3D Touch功能,比如登陆之前取消3D Touch功能和登陆之后添加3D Touch功能,代码中的 UIApplicationShortcutIconTypeShare 等是系统风格的icon,这里只是举个例子直接拿来用,但是不知道审核的时候会不会被拒。
typedef NS_ENUM(NSInteger, UIApplicationShortcutIconType) {
UIApplicationShortcutIconTypeCompose,
UIApplicationShortcutIconTypePlay,
UIApplicationShortcutIconTypePause,
UIApplicationShortcutIconTypeAdd,
UIApplicationShortcutIconTypeLocation,
UIApplicationShortcutIconTypeSearch,
UIApplicationShortcutIconTypeShare,
UIApplicationShortcutIconTypeProhibit
NS_ENUM_AVAILABLE_IOS(9_1),
UIApplicationShortcutIconTypeContact
NS_ENUM_AVAILABLE_IOS(9_1),
UIApplicationShortcutIconTypeHome
NS_ENUM_AVAILABLE_IOS(9_1),
UIApplicationShortcutIconTypeMarkLocation
NS_ENUM_AVAILABLE_IOS(9_1),
UIApplicationShortcutIconTypeFavorite
NS_ENUM_AVAILABLE_IOS(9_1),
UIApplicationShortcutIconTypeLove
NS_ENUM_AVAILABLE_IOS(9_1),
UIApplicationShortcutIconTypeCloud
NS_ENUM_AVAILABLE_IOS(9_1),
UIApplicationShortcutIconTypeInvitation
NS_ENUM_AVAILABLE_IOS(9_1),
UIApplicationShortcutIconTypeConfirmation
NS_ENUM_AVAILABLE_IOS(9_1),
UIApplicationShortcutIconTypeMail
NS_ENUM_AVAILABLE_IOS(9_1),
UIApplicationShortcutIconTypeMessage
NS_ENUM_AVAILABLE_IOS(9_1),
UIApplicationShortcutIconTypeDate
NS_ENUM_AVAILABLE_IOS(9_1),
UIApplicationShortcutIconTypeTime
NS_ENUM_AVAILABLE_IOS(9_1),
UIApplicationShortcutIconTypeCapturePhoto
NS_ENUM_AVAILABLE_IOS(9_1),
UIApplicationShortcutIconTypeCaptureVideo
NS_ENUM_AVAILABLE_IOS(9_1),
UIApplicationShortcutIconTypeTask
NS_ENUM_AVAILABLE_IOS(9_1),
UIApplicationShortcutIconTypeTaskCompleted
NS_ENUM_AVAILABLE_IOS(9_1),
UIApplicationShortcutIconTypeAlarm
NS_ENUM_AVAILABLE_IOS(9_1),
UIApplicationShortcutIconTypeBookmark
NS_ENUM_AVAILABLE_IOS(9_1),
UIApplicationShortcutIconTypeShuffle
NS_ENUM_AVAILABLE_IOS(9_1),
UIApplicationShortcutIconTypeAudio
NS_ENUM_AVAILABLE_IOS(9_1),
UIApplicationShortcutIconTypeUpdate
NS_ENUM_AVAILABLE_IOS(9_1)
} NS_ENUM_AVAILABLE_IOS(9_0) __TVOS_PROHIBITED;
这里有几点需要注意:
1、快捷标签最多可以创建四个,包括静态的和动态的,静态标签会一直存在。
2、每个标签的题目和icon最多两行,多出的会用...省略
3、我们在app的入口函数:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchO
也需要进行一下判断,在launchOptions中有 UIApplicationLaunchOptionsShortcutItemKey这样一个键,通过它,我们可以区别是否是从标签进入的app,如果是则处理结束逻辑后,返回NO,防止处理逻辑被反复回调。
二.响应标签的行为
当我们点击标签进入应用程序时,也可以进行一些操作,我们可以看到,在applocation中增加了这样一个方法:
- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void(^)(BOOL succeeded))completionHandler NS_AVAILABLE_IOS(9_0); (要注意上面的第三点)
当我们通过标签进入app时,就会在appdelegate中调用这样一个回调,我们可以获取shortcutItem的信息进行相关逻辑操作。
#pragma mark -3Dtouch功能
- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void(^)(BOOL succeeded))completionHandler{
//判断先前我们设置的唯一标识
NSLog(@&选择了3Dtouch功能--%@&,shortcutItem.type);
UIViewController *myVC;
if ([shortcutItem.type isEqualToString:KTouchItemPublicPosition]) {
myVC = [[YBSPublicViewController alloc]initWithNibName:@&YBSPublicViewController& bundle:nil];
}else if ([shortcutItem.type isEqualToString:KTouchItemMyPublic]){
myVC = [[YBSPositionViewController alloc]initWithNibName:@&YBSPositionViewController& bundle:nil];
}else if ([shortcutItem.type isEqualToString:KTouchItemRecharge]){
myVC = [[YBSResumeViewController alloc]initWithNibName:@&YBSResumeViewController& bundle:nil];
}else if ([shortcutItem.type isEqualToString:KTouchItemCheck]){
myVC = [[YBSResumeViewController alloc]initWithNibName:@&YBSResumeViewController& bundle:nil];
YBSNavigationViewController *nav = [[YBSNavigationViewController alloc]initWithRootViewController:myVC];
//设置当前的VC 为rootVC
[self.window.rootViewController presentViewController:nav animated:YES completion:nil];
这里面主要是做一个例子,显示的视图跳转 要根据具体情况加上
三. 3D Touch ViewController& 弹出自定义的ViewContoller,向上滑动还有下一步的菜单可以显示
首先在viewController的.m方法中添加下面代码,判断当前设备是否支持压力感,并注册delegate
//注册3D Touch,先判断是否可用
if (self.traitCollection.forceTouchCapability == UIForceTouchCapabilityAvailable){
[self registerForPreviewingWithDelegate:self sourceView:self.view];
NSLog(@&3D Touch
NSLog(@&3D Touch 无效&);
添加你想要弹出来的viewcontroller,
-(UIViewController *)previewingContext:(id&UIViewControllerPreviewing&)previewingContext viewControllerForLocation:(CGPoint)location{
// 获取用户手势点所在cell的下标。同时判断手势点是否超出tableView响应范围。
if (![self getShouldShowRectAndIndexPathWithLocation:location])
//弹出视图的初始位置,sourceRect是peek触发时的高亮区域。这个区域内的View会高亮显示,其余的会模糊掉
previewingContext.sourceRect = sourceR
//获取数据进行传值
YBS3DTouchViewController *childVC = [[YBS3DTouchViewController alloc] init];
return childVC;
-(void)previewingContext:(id&UIViewControllerPreviewing&)previewingContext commitViewController:(UIViewController *)viewControllerToCommit{
[self tableView:self.myTableView didSelectRowAtIndexPath:selectedPath];
获取用户手势点所在cell的下标,同时判断手势点是否超出tableview的范围
- (BOOL)getShouldShowRectAndIndexPathWithLocation:(CGPoint)location {
//坐标点的转化,
CGPoint tableLocation = [self.view convertPoint:location toView:self.myTableView];
selectedPath = [self.myTableView indexPathForRowAtPoint:tableLocation];
sourceRect = CGRectMake(0, selectedPath.row * KMessageRowHeight, ScreenHeight, KMessageRowHeight);
// 如果row越界了,返回NO 不处理peek手势
NSLog(@&当前所在的行---%zd&,selectedPath.row);
return (selectedPath.row &= (self.messageArr.count+10)) ? NO : YES;
接下来在添加的视图中,添加向上滑显示的菜单,上面代码中YBS3DTouchViewController *childVC,视图中我就是简单定义了一个backView和一个label,下面是在-(NSArray&
id&UIPreviewActionItem&& * )previewActionItems
函数中定义你要显示的菜单
3D Touch 上移显示的视图
-(NSArray&id&UIPreviewActionItem&& *)previewActionItems{
UIPreviewAction *action1 = [UIPreviewAction actionWithTitle:@&我就是我& style:UIPreviewActionStyleDefault handler:^(UIPreviewAction * _Nonnull action, UIViewController * _Nonnull previewViewController) {
NSLog(@&click---我就是我&);
UIPreviewAction *action2 = [UIPreviewAction actionWithTitle:@&你还是你& style:UIPreviewActionStyleDefault handler:^(UIPreviewAction * _Nonnull action, UIViewController * _Nonnull previewViewController) {
NSLog(@&click---你还是你&);
UIPreviewAction *action3 = [UIPreviewAction actionWithTitle:@&她还是她& style:UIPreviewActionStyleDefault handler:^(UIPreviewAction * _Nonnull action, UIViewController * _Nonnull previewViewController) {
NSLog(@&click---她还是她&);
//想要显示多个就定义多个 UIPreviewAction
NSArray *actions = @[action1,action2,action3];
在block里面进行的一个回调,在这里处理你的点击事件,效果如下
学习的就这么多,有更多的,后面加上:blush:
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致CJ 越来越像一个游戏展了,小编内心倍感欣慰。
Apple TV 一直在暗示着它有很大的潜力值得挖掘。
官方宣布《魔兽世界》从日起不再出售点卡。
这样丰厚的奖金和强大的卡司阵容,苹果为了首档真人秀节目也是下足了血本~
获得能源监管委员会的批准意味着苹果公司将能够出售从他们的太阳能农场和其他可再生能...
这样的想法是挺好的,但是到底能获得多少视频内容提供商支持呢?
韩国三大运营商将从8月6日本周六起开始接收三星Galaxy Note 7的预订,裸机价格统一为9...
有网友调侃道:在专利中也使用(chaoxi)苹果的东西,这很“三星”。
《点击英雄(Tap Hero)》是 Michal Walaszczyk 推出的一款反应类新作,顾名思义,玩...
在游戏中玩家的目标非常简单,玩家需要将手中的飞盘顺利的飞到场景中的筐中,听起来似...
游戏中所有的一切都是由一个个的小的像素方块组成,不过无论是背景还是角色制作都还算...
相信屏幕前的各位老司机一定都知道“模拟驾驶类”游戏与一般的赛车游戏有着很大的区别...
《Symmys 画板》是一款来自国内开发者 Wenzy 的独立应用,它本质是一个画板,你可以用...
游戏采用了关卡的形式展开,在每一个关卡中玩家都需要击败敌人才可以顺利的通过关卡开...
这年头僵尸游戏从来不缺,而BoomBit近日也发布了一款僵尸游戏《僵尸追我(Zombies Cha...
对于 iPhone 用户来说,一款保护壳需要拥有一些突出的特点才能够吸引他们的注意力,不...
购买过Mac产品的朋友都知道,在选购的时候是有多种国际键盘可选的。
随着iPad Pro越来越被消费者认可,相信配件厂商的定制品也会越来越多。
虽然苹果在 iPhone 6s 中带来了一系列的改进,但是总的来说,这是一款不防水的手机。
或许只是简单的改造而已,不过我们都想知道 Lightning EarPods 到底是什么样的~
套个手机壳就好了,而且第二代的手机壳还增加了很多新功能~
虽然采用 Lightning 接口能够大大提升设备的音质表现,但这意味着消费者需要重新购买...
对于 iPhone 用户来说,给手机充电和备份的 Lightning 充电线缆无疑是非常重要的,但...
ios10的3d Touch新发现 控制中心
注册时间 最后登录
在线时间23 小时 UID
主题帖子人气
小苹果, 积分 33, 距离下一级还需 17 积分
3d Touch扩展到控制中心以下程序
(97.96 KB, 下载次数: 2)
18:31 上传
(97.72 KB, 下载次数: 2)
18:31 上传
<p id="rate_48112" onmouseover="showTip(this)" tip="感谢分享^_^&人气 + 1
" class="mtn mbn">
感谢分享^_^
注册时间 最后登录
在线时间97 小时 UID
主题帖子人气
威锋旗下产品
Hi~我是威威!
沪公网安备 29号 | 沪ICP备号-1
新三板上市公司威锋科技(836555)
增值电信业务经营许可证:
Powered by Discuz!有3D Touch才能享受iOS 10这些新待遇吗?非也!
来源:爱思助手
浏览次数:763
,而按照惯例,其中很多新的功能特性都需要新设备、新技术的支持,比如说通知中心,不少交互都是需要3D Touch压感操作的。这是否意味着,只有iPhone 6S/7系列才能享受这些待遇?非也!苹果确认,即便是没有压感技术的旧款iPhone,照样可以获得丰富通知操作,无需解锁iPhone并启动相关应用,就可以直接进行互动。不过,目前的首个iOS 10测试版本还不够完善,这方面只对iPhone 6S系列做了优化,未来才会把完整的通知操作带到旧款iPhone上边。目前还不清楚苹果会如何在没有3D Touch的设备上实现新的操作方式,估计是某种长按弹出菜单。更多公众号:TechWeb提供权威新鲜的IT业界新闻,是新媒体、新技术、新商业互动平台最新文章对这篇文章不满意?您可以继续搜索:百度:搜狗:感谢您阅读苹果确认了:没有3D Touch的机型一样能用iOS 10新功能,本文可能来自网络,如果侵犯了您的相关权益,请联系管理员。QQ:}

我要回帖

更多关于 ios10 3d touch怎么用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信