iOS/iOS Swift ToyProject

iOS swift swipe back gesture

Developer-Michelle 2023. 2. 1. 14:13

override func viewDidLoad() {

navigationController?.interactivePopGestureRecognizer?.isEnabled = true

navigationController?.interactivePopGestureRecognizer?.delegate = self

}

 

 

This is the best way to enable/ disable swipe to pop view controller in iOS 10, Swift 3 :

For First Screen [ Where you want to Disable Swipe gesture ] :

class SignUpViewController : UIViewController,UIGestureRecognizerDelegate {

//MARK: - View initializers
override func viewDidLoad() {
    super.viewDidLoad()
}

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    swipeToPop()
}

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
}

func swipeToPop() {

    self.navigationController?.interactivePopGestureRecognizer?.isEnabled = true;
    self.navigationController?.interactivePopGestureRecognizer?.delegate = self;
}

func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {

    if gestureRecognizer == self.navigationController?.interactivePopGestureRecognizer {
        return false
    }
    return true
} }

For middle screen [ Where you want to Enable Swipe gesture ] :

class FriendListViewController : UIViewController {

//MARK: - View initializers
override func viewDidLoad() {

    super.viewDidLoad()
    swipeToPop()
}

func swipeToPop() {

    self.navigationController?.interactivePopGestureRecognizer?.isEnabled = true;
    self.navigationController?.interactivePopGestureRecognizer?.delegate = nil;
} }

 

 

https://stackoverflow.com/questions/34942571/how-to-enable-back-left-swipe-gesture-in-uinavigationcontroller-after-setting-le

'iOS > iOS Swift ToyProject' 카테고리의 다른 글

swift Apple로 로그인  (0) 2023.02.11
TableView 안에 TextView 넣기  (0) 2023.02.11
DynamicTableView 다른 크기의 셀 높이 지정  (0) 2023.02.08
iOS swift 구글로 로그인  (0) 2023.02.04
카카오톡 로그인 구현  (0) 2023.01.31