3D Touch的簡(jiǎn)單使用

這貨其實(shí)很簡(jiǎn)單,我就簡(jiǎn)單做個(gè)用法的解析。

首先,你要使用的話漾肮,你得在info.plist里面加入部分鍵值對(duì),如下:

1.在info.plist里面配置所有items

UIApplicationShortcutItems

//山地 touch選項(xiàng)的數(shù)組(可以在info.plist里面寫(xiě)茎毁,也可以在Appdelegate里面用代碼設(shè)置)

UIApplicationShortcutItemIconType//item的圖標(biāo)(貌似只能是系統(tǒng)的樣)

UIApplicationShortcutIconTypeSearch

UIApplicationShortcutItemTitle

訂單篩選

UIApplicationShortcutItemType//自定義的item的類(lèi)型(相當(dāng)于一個(gè)cell的identifier)克懊,方便判斷點(diǎn)擊的那個(gè)item

$(PRODUCT_BUNDLE_IDENTIFIER).First

2.在info.plist里面配置一個(gè)item,在Appdelegate里面用代碼設(shè)置剩余的items

//先在info.plist里面設(shè)置一個(gè)

//定義一個(gè)@property(nonatomic,strong)UIApplicationShortcutItem*currentShortItem;? /*當(dāng)前點(diǎn)擊Touch Item*/

- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {

// Override point for customization after application launch.

BOOLresult =YES;

//系統(tǒng)版本適配

if(IOS_VERSION<9.0)returnresult;

//判斷是否是從shortitem啟動(dòng)的程序

if(launchOptions[@"UIApplicationLaunchOptionsShortcutItemKey"]) {

_currentShortItem= launchOptions[@"UIApplicationLaunchOptionsShortcutItemKey"];

//這個(gè)返回值很重要七蜘、返回no谭溉,不會(huì)再調(diào)用performActionForShortcutItem這個(gè)回調(diào)方法

//result =NO;

}

//判斷是否已經(jīng)創(chuàng)建了shortitem

NSArray*items = [UIApplicationsharedApplication].shortcutItems;

if(items.count==0) {

[selfcreateShortIcon];

}

returnresult;

}

//@TODO:創(chuàng)建其他的items

-(void)createShortIcon{

UIApplicationShortcutIcon*shortIcon1 = [UIApplicationShortcutIconiconWithType:UIApplicationShortcutIconTypeSearch];

UIApplicationShortcutItem*shortItem1 = [[UIApplicationShortcutItemalloc]initWithType:[NSStringstringWithFormat:@"%@.First",BundleId]localizedTitle:@"FirstItem"localizedSubtitle:nilicon:shortIcon1userInfo:nil];

UIApplicationShortcutIcon*shortIcon2=[UIApplicationShortcutIconiconWithType:UIApplicationShortcutIconTypeCompose];

UIApplicationShortcutItem*shortItem2=[[UIApplicationShortcutItemalloc]initWithType:[NSStringstringWithFormat:@"%@.Second",BundleId]localizedTitle:@"SecondItem"localizedSubtitle:nilicon:shortIcon2userInfo:nil];

[[UIApplicationsharedApplication]setShortcutItems:@[shortItem1,shortItem2]];

}

3.說(shuō)完了定義些橡卤,先在來(lái)處理點(diǎn)擊后的事情:

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

//處理shortitem事件

if([shortcutItem.typeisEqualToString:[NSStringstringWithFormat:@"%@.First",BundleId]]) {

NSLog(@"First Item---");

}elseif([shortcutItem.typeisEqualToString:[NSStringstringWithFormat:@"%@.Second",BundleId]]){

NSLog(@"Second Item---");

}

}

歐拉扮念!我沒(méi)有吹塞,就是這樣簡(jiǎn)單碧库!現(xiàn)在就只需要試試了9裼搿!谈为!是不是特別激動(dòng)?當(dāng)然你得有個(gè)6s以上的iPhone踢关。

哎呀伞鲫!其實(shí)模擬器也可以的,當(dāng)然你得安裝一個(gè)插件哈:傳送

后繼更新:

現(xiàn)在加上在VC中使用3D Touch的方法签舞。

在使用它之前呢秕脓,我們得將它和長(zhǎng)按手勢(shì)區(qū)分開(kāi)柒瓣,我們?cè)诔跏蓟臅r(shí)候給當(dāng)前VC做一個(gè)檢測(cè):

//檢測(cè)頁(yè)面是否處于3DTouch狀態(tài) 可以在知道它處于開(kāi)啟狀態(tài)時(shí)將長(zhǎng)按手勢(shì)什么的禁止掉(我一般在viewWillAppear里面調(diào)用該函數(shù))

- (void)check3DTouch{

if (self.traitCollection.forceTouchCapability == UIForceTouchCapabilityAvailable) {

[self registerForPreviewingWithDelegate:self sourceView:self.view];

NSLog(@"3D Touch 開(kāi)啟");

}else{

}

}

然后我們?cè)谑褂玫腣C里面實(shí)現(xiàn)<UIViewControllerPreviewingDelegate>協(xié)議,以及實(shí)現(xiàn)協(xié)議函數(shù)

//重按時(shí)顯示出的預(yù)覽界面

-(UIViewController *)previewingContext:(id)previewingContext viewControllerForLocation:(CGPoint)location{

//直接顯示預(yù)覽界面吠架,這里可以高度自定義

return self.vc;

}

//繼續(xù)用力按執(zhí)行什么操作芙贫,這里是將預(yù)覽界面展示出來(lái)

-(void)previewingContext:(id)previewingContext commitViewController:(UIViewController *)viewControllerToCommit{

[self showViewController:self.vc sender:self];

}

最后一步就是你得在你彈出的那個(gè)預(yù)覽VC里面設(shè)置上滑顯示那些操作按鈕:

//重按顯示預(yù)覽界面時(shí),向上滑動(dòng)出現(xiàn)的菜單選擇傍药、一定要在

//-(UIViewController *)previewingContext:(id)previewingContext viewControllerForLocation:(CGPoint)location

//回調(diào)返回的UIViewController中實(shí)現(xiàn)這個(gè)方法磺平,不然無(wú)法顯示菜單選項(xiàng)

-(NSArray> *)previewActionItems{

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

//點(diǎn)擊按鈕的響應(yīng)函數(shù)

}];

UIPreviewAction*action2=[UIPreviewActionactionWithTitle:@"收藏"style:UIPreviewActionStyleDefaulthandler:^(UIPreviewAction*_Nonnullaction,UIViewController*_NonnullpreviewViewController){

//點(diǎn)擊按鈕的響應(yīng)函數(shù)

}];

return @[action1, action2];

}

這樣就實(shí)現(xiàn)了完整的3D Touch的使用,簡(jiǎn)單快捷拐辽,方便實(shí)例拣挪。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市俱诸,隨后出現(xiàn)的幾起案子菠劝,更是在濱河造成了極大的恐慌,老刑警劉巖睁搭,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赶诊,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡园骆,警方通過(guò)查閱死者的電腦和手機(jī)舔痪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)遇伞,“玉大人辙喂,你說(shuō)我怎么就攤上這事○椋” “怎么了巍耗?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)渐排。 經(jīng)常有香客問(wèn)我炬太,道長(zhǎng),這世上最難降的妖魔是什么驯耻? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任亲族,我火速辦了婚禮,結(jié)果婚禮上可缚,老公的妹妹穿的比我還像新娘霎迫。我一直安慰自己,他們只是感情好帘靡,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布知给。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪涩赢。 梳的紋絲不亂的頭發(fā)上戈次,一...
    開(kāi)封第一講書(shū)人閱讀 51,165評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音筒扒,去河邊找鬼怯邪。 笑死,一個(gè)胖子當(dāng)著我的面吹牛花墩,可吹牛的內(nèi)容都是我干的悬秉。 我是一名探鬼主播,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼观游,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼搂捧!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起懂缕,我...
    開(kāi)封第一講書(shū)人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤允跑,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后搪柑,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體聋丝,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年工碾,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了弱睦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡渊额,死狀恐怖况木,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情旬迹,我是刑警寧澤火惊,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站奔垦,受9級(jí)特大地震影響屹耐,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜椿猎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一惶岭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧犯眠,春花似錦按灶、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春羡亩,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背危融。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工畏铆, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人吉殃。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓辞居,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親蛋勺。 傳聞我的和親對(duì)象是個(gè)殘疾皇子瓦灶,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容