2016年12月6日 星期二

swift 手勢動作回上一頁

今天要做的是手勢動作回到上一頁,會需要俄未作此動作的原因通常是因為沒有使用NavigayionController的情況下。不然一般如有使用原生就已經幫你做好了

剛好專案因某些設計問題沒有使用到NavigationController,又加上大多數用戶因方便已慣性使用手勢動作(左邊滑向右邊)就可返回上一頁,故花了點時間找資料。
參考連結如下:https://www.hackingwithswift.com/example-code/uikit/how-to-detect-edge-swipes

要怎麼做呢???這是純code的做法
所使用到的是UIPanGestureRecognizer中的方法

首先在viewdidload內執行
let edgePan = UIScreenEdgePanGestureRecognizer(target: self, action: #selector(screenEdgeSwiped))
        edgePan.edges = .left
        

        view.addGestureRecognizer(edgePan)

然後再建立一個func來執行動作
 func screenEdgeSwiped(_ recognizer: UIScreenEdgePanGestureRecognizer) {
        if recognizer.state == .recognized {
            print("Screen edge swiped!")
            let V1 = self.storyboard?.instantiateViewController(withIdentifier: "V1")
            self.present(V1!, animated: true, completion: nil)
        }
    }
這樣就完成了回到上一頁的手勢動作摟~

沒有留言:

張貼留言