最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS 指壓即達(dá)集成iOS9里的3D Touch的方法

 更新時(shí)間:2017年03月20日 11:00:02   作者:清澈Saup  
這篇文章主要介紹了iOS 指壓即達(dá)集成iOS9里的3D Touch的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下

1.前言  

隨著6S的到來(lái),3DTouch被各大熱門(mén)APP迅速普及,博主親自體驗(yàn)后,發(fā)現(xiàn)使用便捷性大幅提高,隨后自己照著文檔,寫(xiě)了個(gè)Demo出來(lái),分享給大家,希望能對(duì)有需要的朋友提供有一些幫助。

2.如何使用3D Touch?  

2.1.主界面重按APP圖標(biāo),彈出Touch菜單  

在AppleDelegate文件中的程序入口處配置:

didFinishLaunchingWithOptions

//給App圖標(biāo)添加3D Touch菜單
//拍照
//菜單圖標(biāo)
UIApplicationShortcutIcon *iconCamera = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeAdd];
//菜單文字
UIMutableApplicationShortcutItem *itemCamera = [[UIMutableApplicationShortcutItem alloc] initWithType:@"1" localizedTitle:@"拍照"];
//綁定信息到指定菜單
itemCamera.icon = iconCamera;
//相冊(cè)
//菜單圖標(biāo)
UIApplicationShortcutIcon *iconPhotoLibrary = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeSearch];
//菜單文字
UIMutableApplicationShortcutItem *itemPhotoLibrary = [[UIMutableApplicationShortcutItem alloc] initWithType:@"2" localizedTitle:@"相冊(cè)"];
//綁定信息到指定菜單
itemPhotoLibrary.icon = iconPhotoLibrary;
//綁定到App icon
application.shortcutItems = @[itemCamera,itemPhotoLibrary];

 彈出菜單,我們需要讓用戶點(diǎn)擊后跳轉(zhuǎn)指定頁(yè)面

這里我們會(huì)用到AppDelegate里新增加的一個(gè)方法

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

 讓后我們需要在這個(gè)方法里做跳轉(zhuǎn)的操作

//照相type
if ([shortcutItem.type isEqualToString:@"1"]) {
 
 UIImagePickerController *picker = [[UIImagePickerController alloc] init];//初始化
 picker.allowsEditing = YES;//設(shè)置可編輯
 picker.sourceType = UIImagePickerControllerSourceTypeCamera;
 [self.window.rootViewController presentViewController:picker animated:YES completion:nil];//進(jìn)入照相界面
 
}
//相冊(cè)type
if ([shortcutItem.type isEqualToString:@"2"]) {
 UIImagePickerController *picker = [[UIImagePickerController alloc] init];//初始化
 picker.allowsEditing = YES;//設(shè)置可編輯
 picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
 [self.window.rootViewController presentViewController:picker animated:YES completion:nil];//進(jìn)入圖片庫(kù)

 點(diǎn)擊后分別會(huì)進(jìn)入相機(jī)和相冊(cè)

2.2. 3DTouch輕按預(yù)覽功能,預(yù)覽時(shí)底部菜單的添加  

首先我們要把輕按預(yù)覽和長(zhǎng)按手勢(shì)區(qū)分開(kāi)來(lái),這里要在初始化時(shí)做一個(gè)基本的檢測(cè)。

nterface ViewController () <UIViewControllerPreviewingDelegate>
{
 UILongPressGestureRecognizer *_longPress;
}
@end
@implementation ViewController
- (void)viewDidLoad {
 [super viewDidLoad];
 UILongPressGestureRecognizer *longPressGr = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressToDo)];
 _longPress = longPressGr;
}
//檢測(cè)頁(yè)面是否處于3DTouch
- (void)check3DTouch{
 if (self.traitCollection.forceTouchCapability == UIForceTouchCapabilityAvailable) {
  [self registerForPreviewingWithDelegate:self sourceView:self.view];
  NSLog(@"3D Touch 開(kāi)啟");
  //長(zhǎng)按停止
  _longPress.enabled = NO;
 }else{
  _longPress.enabled = YES;
 }
}
- (void)viewWillAppear:(BOOL)animated{
 [self check3DTouch];
}

然后我們需要實(shí)現(xiàn) UIViewControllerPreviewingDelegate的協(xié)議

@interface ViewController () <UIViewControllerPreviewingDelegate>
//然后實(shí)現(xiàn)代理方法
- (UIViewController *)previewingContext:(id<UIViewControllerPreviewing>)previewingContext viewControllerForLocation:(CGPoint)location;
#pragma mark >> 3D touch 代理方法
//輕按進(jìn)入浮動(dòng)預(yù)覽頁(yè)面
- (UIViewController *)previewingContext:(id<UIViewControllerPreviewing>)previewingContext viewControllerForLocation:(CGPoint)location{
 //注意這里我因?yàn)闇y(cè)試,沒(méi)做具體的位置處理,如果需要定位到具體的圖片Cell位置的話,可以用location通過(guò)tableView的convertPoint來(lái)取到指定Cell
 ASPreviewViewController *vc = [[ASPreviewViewController alloc] init];
 vc.view.frame = self.view.frame;
 UIImageView *er = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"123.png"]];
 vc.view = er;
 return vc;
}

完成后可以實(shí)現(xiàn)基本的預(yù)覽效果:

最后我們加上一個(gè)

預(yù)覽時(shí)下滑底部菜單的添加

在我們剛剛創(chuàng)建的預(yù)覽控制器ASPreviewViewController里實(shí)現(xiàn) UIViewControllerPreviewingDelegate的協(xié)議

然后重寫(xiě)它的代理方法

- (NSArray<id<UIPreviewActionItem>> *)previewActionItems;
 
//預(yù)覽頁(yè)面 底部Action Items
- (NSArray<id<UIPreviewActionItem>> *)previewActionItems{
 UIPreviewAction *p1 =[UIPreviewAction actionWithTitle:@"分享" style:UIPreviewActionStyleDefault handler:^(UIPreviewAction * _Nonnull action, UIViewController * _Nonnull previewViewController) {
  NSLog(@"點(diǎn)擊了分享");
 }];
 UIPreviewAction *p2 =[UIPreviewAction actionWithTitle:@"收藏" style:UIPreviewActionStyleDefault handler:^(UIPreviewAction * _Nonnull action, UIViewController * _Nonnull previewViewController) {
  NSLog(@"點(diǎn)擊了收藏");
 }];
 NSArray *actions = @[p1,p2];
 return actions;
}

以上所述是小編給大家介紹的iOS 指壓即達(dá)集成iOS9里的3D Touch的方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • IOS開(kāi)發(fā)-多線程隊(duì)列測(cè)試代碼

    IOS開(kāi)發(fā)-多線程隊(duì)列測(cè)試代碼

    這篇文章中,我不會(huì)說(shuō)多線程是什么、線程和進(jìn)程的區(qū)別、多線程有什么用,當(dāng)然我也不會(huì)說(shuō)什么是串行、什么是并行等問(wèn)題,這些我們應(yīng)該都知道的。
    2017-09-09
  • iOS下拉選擇菜單簡(jiǎn)單封裝

    iOS下拉選擇菜單簡(jiǎn)單封裝

    這篇文章主要為大家詳細(xì)介紹了iOS下拉選擇菜單封裝代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • iOS文字漸變色效果的實(shí)現(xiàn)方法

    iOS文字漸變色效果的實(shí)現(xiàn)方法

    在大家日常開(kāi)發(fā)iOS的過(guò)程中,可能會(huì)遇到要實(shí)現(xiàn)文字漸變色的效果,這篇文章文章通過(guò)示例代碼和詳細(xì)的步驟介紹了如何利用iOS實(shí)現(xiàn)文字漸變色的效果,實(shí)現(xiàn)后的很不錯(cuò),感興趣的朋友們下面來(lái)一起看看吧。
    2016-10-10
  • iOS中使用NSURLConnection處理HTTP同步與異步請(qǐng)求

    iOS中使用NSURLConnection處理HTTP同步與異步請(qǐng)求

    NSURLConnection的作用現(xiàn)在已經(jīng)基本被NSURLSession所取代,所以我們簡(jiǎn)單了解下iOS中使用NSURLConnection處理HTTP同步與異步請(qǐng)求的方法即可:
    2016-07-07
  • IOS關(guān)閉鍵盤(pán)的方法

    IOS關(guān)閉鍵盤(pán)的方法

    在iOS應(yīng)用開(kāi)發(fā)中,有三類(lèi)視圖對(duì)象會(huì)打開(kāi)虛擬鍵盤(pán),進(jìn)行輸入操作,但如何關(guān)閉虛擬鍵盤(pán),卻沒(méi)有提供自動(dòng)化的方法。這個(gè)需要我們自己去實(shí)現(xiàn)。
    2015-05-05
  • iOS高仿微信表情輸入功能代碼分享

    iOS高仿微信表情輸入功能代碼分享

    最近項(xiàng)目需求,要實(shí)現(xiàn)一個(gè)類(lèi)似微信的的表情輸入功能,今天小編抽空給大家分享iOS高仿微信表情輸入功能代碼,非常不錯(cuò),感興趣的朋友參考下吧
    2016-11-11
  • iOS模仿QQ側(cè)邊欄的實(shí)現(xiàn)方法實(shí)例

    iOS模仿QQ側(cè)邊欄的實(shí)現(xiàn)方法實(shí)例

    項(xiàng)目中要做側(cè)邊欄效果,網(wǎng)上諸多demo,都不是最理想的。最后決定自己來(lái)實(shí)現(xiàn)一個(gè),所以下面這篇文章主要給大家介紹了關(guān)于利用iOS模仿QQ側(cè)邊欄的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。
    2017-12-12
  • IOS App圖標(biāo)和啟動(dòng)畫(huà)面尺寸詳細(xì)介紹

    IOS App圖標(biāo)和啟動(dòng)畫(huà)面尺寸詳細(xì)介紹

    這篇文章主要介紹了IOS App圖標(biāo)和啟動(dòng)畫(huà)面尺寸詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • iOS判斷身份證號(hào)碼是否正確的方法

    iOS判斷身份證號(hào)碼是否正確的方法

    本篇文章主要介紹了iOS判斷身份證號(hào)碼是否正確的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02
  • iOS實(shí)現(xiàn)遠(yuǎn)程推送原理及過(guò)程

    iOS實(shí)現(xiàn)遠(yuǎn)程推送原理及過(guò)程

    這篇文章主要為大家詳細(xì)介紹了iOS實(shí)現(xiàn)遠(yuǎn)程推送原理及具體過(guò)程,圖文結(jié)合的方式針對(duì)iOS遠(yuǎn)程推送進(jìn)行分析,感興趣的小伙伴們可以參考一下
    2016-05-05

最新評(píng)論

吐鲁番市| 东乡县| 九寨沟县| 攀枝花市| 阳原县| 德江县| 彭水| 明星| 汽车| 高碑店市| 湘阴县| 芦山县| 如皋市| 通海县| 江口县| 百色市| 哈巴河县| 白朗县| 深圳市| 喀喇| 长丰县| 东丽区| 巴楚县| 英吉沙县| 遵化市| 双辽市| 育儿| 榆中县| 思茅市| 荥经县| 朝阳市| 白银市| 山阳县| 忻城县| 淮滨县| 寻甸| 高碑店市| 遵义县| 昌江| 建阳市| 新巴尔虎右旗|