如何在 Swift 中以程式設計方式呼叫 UIView 上的點選手勢?
在 Swift 中,您可以使用 UITapGestureRecognizer 類以程式設計方式在檢視上新增點選手勢。此類為您提供了不同的屬性和方法來啟用點選手勢。在本文中,您將學習如何新增點選手勢並附帶示例。
UITapGestureRecognizer 類
UITapGestureRecognizer 是 UIKit 框架中一個內建的類,它識別檢視上的點選手勢。點選手勢是指用一根或多根手指在螢幕上快速觸控。UITapGestureRecognizer 識別特定數量手指的點選、特定次數的點選以及兩者的組合。
要使用該類,您必須建立一個例項並配置一些啟用點選手勢所需的屬性。之後,您必須新增一個目標選擇器以在點選物件時處理點選事件。此步驟是處理事件所需的。
示例
以下是如何建立和使用 UITapGestureRecognizer 的示例:
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(handleTapGesture))
tapGesture.numberOfTapsRequired = 2
tapGesture.numberOfTouchesRequired = 1
view.addGestureRecognizer(tapGesture)
view.isUserInteractionEnabled = true
@objc private func handleTapGesture() {
print("tap gesture executed...")
}
輸出
tap gesture executed…
在此示例中,建立了一個 UITapGestureRecognizer,其目標設定為 self,表示當前檢視控制器是目標物件,並且操作設定為 #selector(handleTapGesture),表示當識別到點選手勢時將呼叫 handleTapGesture 方法。numberOfTapsRequired 屬性設定為 2,表示點選手勢將識別雙擊,numberOfTouchesRequired 屬性設定為 1,表示點選手勢將識別用一根手指的點選。最後,使用 addGestureRecognizer 方法將點選手勢識別器新增到檢視中。
以下是如何自定義點選手勢識別器行為的更多詳細資訊
所需的點選次數 - 預設情況下,點選手勢識別器識別單個點選。您可以透過將 numberOfTapsRequired 屬性設定為不同的值來更改此設定。
所需的手指數量 - 預設情況下,點選手勢識別器識別一根手指的點選。您可以透過將 numberOfTouchesRequired 屬性設定為不同的值來更改此設定。
取消正在進行的觸控 - 預設情況下,當點選手勢識別器識別點選時,它會取消任何正在進行的觸控。您可以透過將 cancelsTouchesInView 屬性設定為 false 來更改此行為。
結論
總之,UITapGestureRecognizer 是 UIKit 框架中一個內建的類,它識別檢視上的點選手勢。您可以建立該類的例項,根據需要配置其屬性,並將其新增到檢視以識別點選。您可以透過設定其 numberOfTapsRequired、numberOfTouchesRequired、cancelsTouchesInView 和 requireGestureRecognizerToFail 屬性來自定義點選手勢識別器的行為。
當用戶點選檢視時,識別器會向其目標物件傳送訊息,該目標物件可以是檢視控制器或已設定為處理點選的其他物件。UITapGestureRecognizer 是一種簡單而實用的方法,可以為您的 iOS 應用程式新增互動性,並且您可以將其與其他手勢識別器和 UIKit 類結合使用以建立更復雜和有趣的使用者互動。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP