第1步:建立一個名為"UILongPressGestureRecognizer"的"Single View Application"專案
第2步:拖拉一個UILongPressGestureRecognizer,以便辨識使用者滑動的事件。
第3步:處理UILongPressGestureRecognizer滑動後產生的事件,在此以UIAlertView簡單顯示一個畫面被長時間按下的訊息。
- 3.1 對UILongPressGestureRecognizer按鈕按右鍵打開選單,找到代表按鈕被按下的"selector"事件,並拖拉右方圓點至ViewController類別的定義中(.h)。
- 3.2 於"Name"欄位中輸入"longPress",並按下"Connect"。
- 3.3 此時會產生一個名為"longPress:"方法,其已與Interface Builder連結。
- 3.4 打開"ViewController.m"檔案,並找到longPress:方法,透過UIAlertView顯示"抓到長按事件了!"的字樣
- (IBAction)longPress:(id)sender {
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"提示"
message:@"抓到長按訊息了!"
delegate:nil
cancelButtonTitle:@"關閉"
otherButtonTitles:nil, nil];
[alert show];
}
第4步:為底層的View加上的手勢辨識能力。對View按右鍵,找到"gestureRecognizers",按住拖拉至UILongPressGestureRecognizer上。
第5步:執行,針對任何一個點長時間按住,以觸發長按事件
想要決定按住的時間有多長才觸發長按事件?! 沒問題透過UISwipeGestureRecognizer上的"Press Duration"屬性可以多長時間才觸發長按事件,另外在搭配"Taps"與"Touches"屬,即可決定長按的次數和手指數才觸發長按事件。
官方手勢參考資料 Link
檔案連結:UILongPressGestureRecognizer.zip