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

Android NavigationController 右滑手勢詳解

 更新時間:2015年08月18日 15:21:58   投稿:mrr  
目前蘋果手機在人機交互中盡力做到極致,在ios7中,新增了一個小小功能,用戶不用點擊右上角的返回按鈕,在屏幕左邊一滑,就會返回。下面給大家詳解Android NavigationController 右滑手勢,需要的朋友可以參考下

蘋果一直都在人機交互中盡力做到極致,在iOS7中,新增加了一個小小的功能,也就是這個api:self.navigationController.interactivePopGestureRecognizer.enabled = YES;

這個api功能就是在NavigationController堆棧內(nèi)的UIViewController可以支持右滑手勢,也就是不用點擊右上角的返回按鈕,輕輕在屏幕左邊一滑,屏幕就會返回,隨著ios設(shè)備屏幕的增大,這個小功能讓手指短,拇指大和手殘人士看到了福音。

這個功能是好,但是經(jīng)常我們會有需求定制返回按鈕,如果手動定制了返回按鈕,這個功能將會失效,也就是自定義了navigationItem的leftBarButtonItem,那么這個手勢就會失效。

解決方法找到兩種

1.重新設(shè)置手勢的delegate

復(fù)制代碼 代碼如下:

self.navigationController.interactivePopGestureRecognizer.delegate = (id)self;

2.當(dāng)然你也可以自己響應(yīng)這個手勢的事件

復(fù)制代碼 代碼如下:

[self.navigationController.interactivePopGestureRecognizer addTarget:self action:@selector(handleGesture:)];

有更多方法以后繼續(xù)補充,這里可以根據(jù)自己需要進行選擇,如果只是簡單定制了返回按鈕,第一種最簡單,一句代碼搞定。

問題二:ios開發(fā) 向右滑動手勢實現(xiàn)返回.在NavigationController中如何設(shè)置

在navigationController中實現(xiàn)向右滑動 返回功能

系統(tǒng)提供的backbarbuttonitem,不用添加任何代碼即可實現(xiàn)向右滑動后退功能,但是往往要對按鈕修改樣式等時,就需要自定義leftbarbuttonitem,此時向右滑動即失效.通過下面方法即可解決該問題.(本人親自實驗過)

主要是通過設(shè)置navigationController.interactivePopGestureRecognizer 此手勢的一些屬性,此手勢大家可以通過sdk查看說明,這里不細說

1. self.navigationController.interactivePopGestureRecognizer.enabled = YES | NO;      手勢有效與否

2. self.navigationController.interactivePopGestureRecognizer.delegate = self;               手勢的代理,一般會設(shè)置為self

1中的屬性,再viewcontroller中默認的設(shè)置為YES,即手勢有效.按照2中的屬性設(shè)置后,當(dāng)前的viewcontroller即可以實現(xiàn)該向右滑動后退功能,但是當(dāng)回到navigationController的rootView中再次做出向右滑動時,程序會有問題(再次push子controller時,程序卡在當(dāng)前界面無法跳轉(zhuǎn)).有效解決方案如下:

說明:有兩個controllerA,B

navigationController的rootview設(shè)置為A,在A中點擊按鈕后push B.在A的 -(void)viewDidAppear:(BOOL)animated方法中加入self.navigationController.interactivePopGestureRecognizer.enabled = NO;代碼如下:
- (void)viewDidAppear:(BOOL)animated
{
  if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
    self.navigationController.interactivePopGestureRecognizer.enabled = NO;  //讓rootView禁止滑動
  }
}

然后再B中的- (void)viewDidLoad方法中加入

- (void)viewDidLoad
{
  // 配置返回按鈕
  UIBarButtonItem * backItem = [self barButtonForImageNames:@[@"icon-返回", @"", @""] action:@selector(popBack)];
  backItem.title = @"";
  if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
    self.navigationController.interactivePopGestureRecognizer.enabled = YES;
    self.navigationController.interactivePopGestureRecognizer.delegate = self;
  }
  self.navigationItem.leftBarButtonItem = backItem;

  if ([[[UIDevice currentDevice] systemVersion] floatValue]
 >= 7.0) {

    self.navigationController.interactivePopGestureRecognizer.delegate = self; 
  }
}

這樣即可以保證再A中向右滑動后再次pushB時不會卡在A界面.

再項目中大家一般會創(chuàng)建風(fēng)格統(tǒng)一的界面,一般都會創(chuàng)建一個基礎(chǔ)viewcontroller,再此viewcontroller擴展一個配置leftbarbutton的方法,在該方法中加入B的viewDidLoad中的代碼,這樣在創(chuàng)建leftbarbutton的同時,直接加了返回的操作(不用每個viewController中都加入這樣一段代碼).然后只在navigationController的rootView中加入A的(void)viewDidAppear:(BOOL)animated方法即可.

以上內(nèi)容是Android NavigationController 右滑手勢詳解,希望大家喜歡。

相關(guān)文章

  • iOS橫屏彈鍵盤的高度錯誤異常解決

    iOS橫屏彈鍵盤的高度錯誤異常解決

    這篇文章主要給大家介紹了關(guān)于iOS橫屏彈鍵盤的高度錯誤異常解決的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 在IOS中為什么使用多線程及多線程實現(xiàn)的三種方法

    在IOS中為什么使用多線程及多線程實現(xiàn)的三種方法

    這篇文章給大家介紹在IOS中為什么使用多線程及多線程實現(xiàn)的三種方法,基本上使用這三種方法實現(xiàn)多線程(NSThread Grand Centeral Dispatch(GCD) NSOperation和NSOperationQueue),感興趣的朋友可以參考下本篇文章
    2015-11-11
  • iOS項目開發(fā)--實現(xiàn)類似淘寶詳情頁面

    iOS項目開發(fā)--實現(xiàn)類似淘寶詳情頁面

    本篇文章主要介紹了iOS實現(xiàn)類似淘寶詳情頁面,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • 詳解ios11中estimatedRowHeight屬性

    詳解ios11中estimatedRowHeight屬性

    本篇文章主要給大家介紹了ios11中estimatedRowHeight屬性的用法和知識,有興趣的朋友學(xué)習(xí)下。
    2018-01-01
  • 詳解IOS圖片壓縮處理

    詳解IOS圖片壓縮處理

    在日常IOS開發(fā)中,感覺圖片尺寸太大,想壓縮成小一點像素的。那么該如何做呢?本文通過“壓縮”兩個概念及實例來告訴大家如何進行圖片壓縮處理才是最好的。
    2016-07-07
  • IOS開發(fā)中使用writeToFile時的注意事項

    IOS開發(fā)中使用writeToFile時的注意事項

    本篇文章主要介紹了開發(fā)中使用writeToFile時的注意事項,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • 淺談關(guān)于如何檢測iOS14本地網(wǎng)絡(luò)權(quán)限的一些思路

    淺談關(guān)于如何檢測iOS14本地網(wǎng)絡(luò)權(quán)限的一些思路

    這篇文章主要介紹了淺談關(guān)于如何檢測iOS14本地網(wǎng)絡(luò)權(quán)限的一些思路,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 淺談Xcode9 和iOS11適配和特性

    淺談Xcode9 和iOS11適配和特性

    本篇文章主要介紹了Xcode9 和iOS11適配和特性,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • IOS 數(shù)據(jù)存儲詳解及實例代碼

    IOS 數(shù)據(jù)存儲詳解及實例代碼

    這篇文章主要介紹了IOS 數(shù)據(jù)存儲詳解及實例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • iOS漸變圓環(huán)旋轉(zhuǎn)動畫CAShapeLayer CAGradientLayer

    iOS漸變圓環(huán)旋轉(zhuǎn)動畫CAShapeLayer CAGradientLayer

    這篇文章主要介紹了iOS漸變圓環(huán)旋轉(zhuǎn)動畫CAShapeLayer CAGradientLayer的相關(guān)資料,需要的朋友可以參考下
    2016-09-09

最新評論

吉木乃县| 长兴县| 江西省| 仲巴县| 河东区| 都安| 吉木萨尔县| 武汉市| 简阳市| 新建县| 嘉善县| 渭源县| 娱乐| 商河县| 屏边| 罗平县| 田东县| 即墨市| 区。| 浦城县| 准格尔旗| 黄龙县| 扶绥县| 保定市| 景宁| 宁国市| 临洮县| 辽宁省| 高青县| 泸州市| 滦南县| 巴彦县| 丹江口市| 当雄县| 玛多县| 襄汾县| 盘山县| 普兰店市| 阿拉善右旗| 六安市| 富裕县|