第1步:建立一個名為"UITapGestureRecognizer"的"Single View Application"專案
第2步:拖拉一個UITapGestureRecognizer,以便辨識使用者觸碰的事件。
第3步:處理UITapGestureRecognizer觸碰後產生的事件,在此以UIAlertView簡單顯示一個被觸碰的訊息。
- 3.1 對UITapGestureRecognizer按鈕按右鍵打開選單,找到代表按鈕被按下的"selector"事件,並拖拉右方圓點至ViewController類別的定義中(.h)。
- 3.2 於"Name"欄位中輸入"tap",並按下"Connect"。
- 3.3 此時會產生一個名為"tap:"方法,其已與Interface Builder連結。
- 3.4 打開"ViewController.m"檔案,並找到tap:方法,透過UIAlertView顯示"抓到觸碰事件了!"的字樣
- (IBAction)tap:(id)sender {
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"提示"
message:@"抓到觸碰訊息了!"
delegate:nil
cancelButtonTitle:@"關閉"
otherButtonTitles:nil, nil];
[alert show];
}
第4步:加入2個UILabel,並透過"Attributes Inspector"將背景色變更為灰色與紅色,以利辨識
第5步:為UILabel加上觸碰的手勢辨識能力。對UILabel按右鍵,找到"gestureRecognizers",按住拖拉至UITapGestureRecognizer上。
第5步:最後透過"Attributes Inspector"將2個UILabel的"User Interaction Enabled"打開,讓使用者可與UILabel互動,當然也包含我們觸碰的互動(注意,並不是所有的控制項的"User Interaction Enabled"都是未勾選的,只是UILabel預設為未勾選)
第6步:執行,分別對這2個UILabel觸碰,皆會捕抓到觸碰事件
想要多點觸碰?! 還要算規定觸碰3次數才算!! 放心,透過UITapGestureRecognizer上的"Taps"與"Touches"屬性,決定要被觸碰的次數(Taps),與要多少支手指同時觸碰(Touches)。
官方手勢參考資料 Link
檔案連結:UITapGestureRecognizer.zip