1. 程式人生 > >iOS頁面禁止側滑返回

iOS頁面禁止側滑返回

方法一:

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    if([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
        self.navigationController.interactivePopGestureRecognizer.enabled = NO;
    }
}

- (void)viewDidDisappear:(BOOL
)animated { [super viewDidDisappear:animated]; //在其他離開改頁面的方法同樣加上下面程式碼 if([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) { self.navigationController.interactivePopGestureRecognizer.enabled = YES; } }

方法二

- (void)viewDidAppear:(BOOL
)animated { [superviewDidAppear:animated]; self.isCanSideBack = NO; if([self.navigationControllerrespondsToSelector:@selector(interactivePopGestureRecognizer)]) { self.navigationController.interactivePopGestureRecognizer.delegate=self; } } - (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer)gestureRecognizer { return
self.isCanSideBack; } - (void)viewDidDisappear:(BOOL)animated { [superviewDidDisappear:animated]; //在其他離開改頁面的方法同樣加上下面兩句程式碼 self.isCanSideBack=YES; if([self.navigationControllerrespondsToSelector:@selector(interactivePopGestureRecognizer)]) { self.navigationController.interactivePopGestureRecognizer.delegate = nil; } }

注:如果呼叫了popToRootViewControllerAnimated,不會走viewDidDisappear。所以需要在返回的方法裡面加上相應程式碼,以便其他頁面支援側滑返回

相關推薦

iOS頁面禁止返回

方法一: - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; if([self.navig

IOS 禁止返回上個頁面功能

禁用 註意 int spa sta app interact respond 如果 1.首先把頂部左側返回按鈕隱藏掉 //隱藏返回按鈕 self.navigationItem.hidesBackButton = YES; 2.1.再禁止頁面左側側

Android模仿iOS實現返回(類似微信)

actionbar fin kth ins any lean blog 模仿 over 我們都知道側滑返回操作是 iOS 裏面比較常見的功能,一般是手指在靠近手機屏幕左邊緣向右滑動就可以關閉當前的界面,iOS 系統提供了這樣的 API,但是 Android 怎麽實現呢? 網

iOS返回到隱藏導航欄的VC,導航欄會閃現一次

ont 隱藏 過程 style nav div nba 周期 導航 VCA:是一個隱藏導航欄的頁面;VCA在ViewWillAppear生命周期函數中設置導航欄隱藏: //隱藏導航欄 [self.navigationController setNavigationBarH

iOS禁止的正確方式記錄

//  首先要定義一個全域性變數記錄能否側滑返回 @property (nonatomic, assign) BOOL slideBack; // 關閉側滑 self.slideBack = NO; if ([self.navigationController res

iOS解決UICollectionView下巢狀UITableView多個列表時返回失效及cell刪除失效的問題

解決問題:UICollectionView下巢狀UITableView作為多個列表時側滑返回失效及cell側滑刪除失效的問題繼承自UICollectionView:@implementation XYCollectionView // 是否允許同時支援多個手勢,預設是不支援多個手勢 // 返回yes表示支援多

iOS 如何讓WKWebView返回時html逐級返回,而不是直接返回到上級控制器?

iOS使用WKWebView來載入html頁面時,如果html頁面只有一級的話,那麼側滑返回沒什麼問題,但如果html是多級的話,那麼側滑返回時有時就會出現直接返回到上級控制器,而不是返回上一級html頁面。這是因為html頁面的側滑返回和導航控制器的側滑返回發生衝突了,系統

iOS-自定義導航欄後返回功能失效

2016-03-17 iOS開發 文/煜寒了(簡書作者) 原文連結:http://www.jianshu.com/p/349636eb3fca iPhone有一個回退按鈕在所有的導航條上.這是一個簡單的沒有文字箭頭. 在一開始寫專案的時候,就要做好一個準備,導航欄是自定義還

iOS返回上一級介面

- (id)initWithRootViewController:(UIViewController *)rootViewController {     self = [super initWithRootViewController:rootViewController

iOS 8 完美禁止返回

先引入代理協議 - (void)viewDidAppear:(BOOL)animated {     [super viewDidAppear:animated];     if ([self.navigationController respondsToSelecto

iOS自定義導航欄,返回卡死情況的解決辦法

側滑返回是iOS7新增的一個特性,如果自定義了導航欄,那麼側滑返回這個功能就會失效。雖然在自定義導航欄的viewDidLoad方法中新增self.interactivePopGestureRecognizer.delegate = (id)self;一行程式碼就

iOS仿QQ選單、登入按鈕動畫、仿鬥魚直播APP、城市選擇器、自動佈局等原始碼

iOS精選原始碼 QQ側滑選單,右滑選單,QQ展開選單,QQ好友分組 image 登入按鈕 image 3分鐘快捷建立高效能輪播圖 ScrollView巢狀ScrolloView(UITableView 、UICollectionView)解決方案

AndroidStudio實現返回

gradle引用 compile 'me.imid.swipebacklayout.lib:library:1.1.0'  然後引入工具類 import android.os.Bundle; import me.imid.swipebacklayout.lib.SwipeBa

Swift自定義UISlider的圓點,UISlider手勢與返回手勢衝突

import UIKit class CustomSlider: UISlider { init() { super.init(frame: CGRect()) self.minimumValue = 0 self.ma

實現Activity返回效果

先看一張效果圖 通過ViewDragHelper來檢測到螢幕側滑,然後通過內建介面傳遞給Acitivity觸發了側滑事件,通知其關閉。 1、實現側滑刪除,這裡的方法是先要建立一個監聽側滑的自定義佈局. public class SwipeBackLayout exten

IOS】放棄右返回後,標題欄上出現了3個藍點

Q: 當你自定義了leftBarButtonItem或titleView時,並enable了右滑返回功能,此時,如果進行右滑假返回操作(即右滑後不鬆開手左滑回去)時,在UINavgationBar的leftBarButtonItem或titleView上出現了三個藍色的點

iOS 三種選單效果對比詳解

- (void)mainTabBar {  AppDelegate *app = (AppDelegate *)[UIApplication sharedApplication]

ios tableview cell 刪除

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { returnTRUE; } - (UITableViewCellEditingStyle

手勢衝突---UITableView刪除, 自定義返回,UIScroll的手勢衝突

返回手勢和UITableView刪除的衝突 今天遇到一個手勢衝突的問題在這裡記錄一下 由於還要適配ios6 所以就從網上找了個側滑返回的類 但是這個類手勢和UITableView的滑動刪除是有衝突的 所以UITableView的手勢被幹掉了(原生的UINavigation

DrawerLayout禁止顯示

說明:    安卓DrawerLayout有時候不需要側滑顯示,這個時候就需要禁止側滑動作。    只需要一行程式碼。程式碼:drawer.setDrawerLockMode(DrawerLayout.