iOS 3DTouch

3D Touch,蘋果iPhone 6s的新功能

有Peek Pop 兩種新手勢(shì)

實(shí)現(xiàn)點(diǎn)擊app出現(xiàn)小彈框界面的方法


1.在info.plist中進(jìn)行設(shè)定

2.或者是在appdelegate里面直接進(jìn)行添加

方法didFinishLaunchingWithOptions中直接添加一下代碼

/**\

UIApplicationShortcutIconTypeCompose,//創(chuàng)作

UIApplicationShortcutIconTypePlay,//播放

UIApplicationShortcutIconTypePause,//暫停

UIApplicationShortcutIconTypeAdd,//添加

UIApplicationShortcutIconTypeLocation,位置

UIApplicationShortcutIconTypeSearch,搜索

UIApplicationShortcutIconTypeShare,分享

*/

//當(dāng)然也可以自己設(shè)置圖片

//添加快捷啟動(dòng)

UIApplicationShortcutIcon *icon = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeCompose];

UIApplicationShortcutItem *item = [[UIApplicationShortcutItem alloc]initWithType:@"0" localizedTitle:@"1" localizedSubtitle:nil icon:icon userInfo:nil];

UIApplicationShortcutIcon *icon1 = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypePlay];

UIApplicationShortcutItem *item1 = [[UIApplicationShortcutItem alloc]initWithType:@"1" localizedTitle:@"2" localizedSubtitle:nil icon:icon1 userInfo:nil];

UIApplicationShortcutIcon *icon2 = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypePause];

UIApplicationShortcutItem *item2 = [[UIApplicationShortcutItem alloc]initWithType:@"2" localizedTitle:@"3" localizedSubtitle:nil icon:icon2 userInfo:nil];

UIApplicationShortcutIcon *icon3 = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeAdd];

UIApplicationShortcutItem *item3 = [[UIApplicationShortcutItem alloc]initWithType:@"3" localizedTitle:@"3" localizedSubtitle:nil icon:icon3 userInfo:nil];

UIApplicationShortcutIcon *icon4 = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeLocation];

UIApplicationShortcutItem *item4 = [[UIApplicationShortcutItem alloc]initWithType:@"4" localizedTitle:@"3" localizedSubtitle:nil icon:icon4 userInfo:nil];

UIApplicationShortcutIcon *icon5 = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeSearch];

UIApplicationShortcutItem *item5 = [[UIApplicationShortcutItem alloc]initWithType:@"5" localizedTitle:@"3" localizedSubtitle:nil icon:icon5 userInfo:nil];

UIApplicationShortcutIcon *icon6 = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeShare];

UIApplicationShortcutItem *item6 = [[UIApplicationShortcutItem alloc]initWithType:@"6" localizedTitle:@"3" localizedSubtitle:nil icon:icon6 userInfo:nil];

[[UIApplication sharedApplication] setShortcutItems:@[item4,item5,item6]];

3.點(diǎn)擊不同的小圖標(biāo)進(jìn)行的操作是,此方法也是寫在appdelegate里面的

- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler {

UINavigationController *nav = (UINavigationController *)self.window.rootViewController;

//也可以直接在當(dāng)前最外面的Vc上進(jìn)行跳轉(zhuǎn)

DemoViewController *detailVC = [[DemoViewController alloc] init];

//進(jìn)行不同界面類型的跳轉(zhuǎn)

switch ([shortcutItem.type integerValue]) {

case 0:

detailVC.titleStr = @"1";

break;

case 1:

detailVC.titleStr = @"2";

break;

case 2:

detailVC.titleStr = @"3";

break;

case 3:

detailVC.titleStr = @"4";

break;

case 4:

detailVC.titleStr = @"5";

break;

case 5:

detailVC.titleStr = @"6";

break;

case 6:

detailVC.titleStr = @"7";

break;

case 7:

detailVC.titleStr = @"8";

break;

default:

break;

}

[nav pushViewController:detailVC animated:YES];

}

4.點(diǎn)擊app里面的按鈕執(zhí)行壓力感應(yīng),一定要執(zhí)行這兩個(gè)方法

#pragma mark - UIViewControllerPreviewingDelegate- (UIViewController *)previewingContext:(id)previewingContext viewControllerForLocation:(CGPoint)location {? ? for (UIView *view in self.tableView.subviews) {? ? ? ? NSString *class = [NSString stringWithFormat:@"%@",view.class];? ? ? ? if ([class isEqualToString:@"UITableViewWrapperView"])? ? ? ? for (UIView *littleView in view.subviews) {? ? ? ? ? ? if ([littleView isKindOfClass:[UITableViewCell class]] && CGRectContainsPoint(littleView.frame, location)) {? ? ? ? ? ? ? ? self.touchCell = (UITableViewCell *)littleView;? ? ? ? ? ? }? ? ? ? }? ? }? ? previewingContext.sourceRect = self.touchCell.frame;? ? DemoViewController *detailVC = [[DemoViewController alloc] init];? ? //一定得是在這個(gè)方法里面設(shè)置代理? ? detailVC.delegate = self;? ? return detailVC;}- (void)previewingContext:(id)previewingContext commitViewController:(UIViewController *)viewControllerToCommit {

[self tableView:self.tableView didSelectRowAtIndexPath:[self.tableView indexPathForCell:self.touchCell]];

}

比如說點(diǎn)擊完cell出現(xiàn)的下一集界面就是在這里進(jìn)行設(shè)定的

5.下一級(jí)的視圖的刪除功能需要在下一集的界面里面執(zhí)行

- (NSArray> *)previewActionItems {

UIPreviewAction *action1 = [UIPreviewAction actionWithTitle:@"刪除" style:UIPreviewActionStyleDefault handler:^(UIPreviewAction * _Nonnull action, UIViewController * _Nonnull previewViewController) {

if ([self.delegate respondsToSelector:@selector(deleteWithIndexPath:)]) {

[self.delegate deleteWithIndexPath:1];

}

}];

NSArray *actions = @[action1];

return actions;

}

具體的操作可以使用通知代理等等進(jìn)行操作

具體的gitHub地址Demo地址

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • With iOS 9, new iPhone models add a third dimension to th...
    胖嘟嘟小團(tuán)子閱讀 2,437評(píng)論 0 22
  • 自從iPhone6s、iPhone6sP出現(xiàn)后,推出了一個(gè)新功能,能讓你的手指“按到屏幕里面去”,應(yīng)公司需要,特花...
    mimi不是米閱讀 1,139評(píng)論 3 9
  • 1. 3D Touch的主要應(yīng)用 官方文檔給出的應(yīng)用介紹主要有兩塊: 1.A user can now press...
    雨潤聽潮閱讀 755評(píng)論 0 0
  • *7月8日上午 N:Block :跟一個(gè)函數(shù)塊差不多,會(huì)對(duì)里面所有的內(nèi)容的引用計(jì)數(shù)+1,想要解決就用__block...
    炙冰閱讀 2,727評(píng)論 1 14
  • 3DTouch目前在手機(jī)上有兩種體現(xiàn)方式,一種是用力按下app的圖片icon,會(huì)彈出選項(xiàng)菜單,就像電腦上的右鍵。一...
    莦婼姑娘閱讀 518評(píng)論 2 3

友情鏈接更多精彩內(nèi)容