如何在 iOS 應用中處理左右滑動手勢?
為了在 iOS 應用中處理手勢,我們將建立一個 Swift 應用,並透過示例演示。這可以透過兩種方式完成:使用故事板或以程式設計方式。
方法 1 - 使用故事板
首先,我們將從物件庫中拖動一個滑動識別器,並將其放置在我們想要新增滑動手勢的檢視控制器中。
然後單擊手勢,按住 control 並將其拖動到檢視控制器類中以建立其連線。
確保該操作的傳送者是 UISwipeGestureRecognizer,並且操作類似於以下內容:
@IBAction func swipeMade(_ sender: UISwipeGestureRecognizer) { }
現在,iOS 中的滑動手勢在其 direction 屬性中提供了所做滑動的方向。direction 是一個列舉,它具有以下可能的取值:
- 右
- 左
- 下
- 上
滑動手勢只能處理一個方向的滑動,即左、右、上或下。因此,我們需要建立另一個滑動識別器,並從屬性檢查器中將其方向設定為左。
還要記住將新識別器的操作連線到第一個識別器的操作。
現在,我們將使用此方法以及 direction 屬性來處理進行的滑動。除了從故事板中進行操作外,我們還可以以程式設計方式進行操作。
方法 2 - 以程式設計方式
要以程式設計方式建立手勢識別器,我們必須將以下程式碼新增到我們的 viewDidLoad 中。
var leftRecognizer = UISwipeGestureRecognizer(target: self, action: #selector(swipeMade(_:))) leftRecognizer.direction = .left var rightRecognizer = UISwipeGestureRecognizer(target: self, action: #selector(swipeMade(_:))) rightRecognizer.direction = .right self.view.addGestureRecognizer(leftRecognizer) self.view.addGestureRecognizer(rightRecognizer)
在這兩種方法中,下面顯示的 swipeMade 操作應該保持不變。
@IBAction func swipeMade(_ sender: UISwipeGestureRecognizer) { if sender.direction == .left { print("left swipe made") } if sender.direction == .right { print("right swipe made") } }
當我們在裝置上執行此應用程式時,我們看不到任何介面,因為我們的檢視此時為空,但是當我們左右滑動時,我們在控制檯中得到一個輸出,顯示在任一方向上都進行了滑動。
廣告