fb_license

技術標籤

@selector (1) 初使化區塊 (1) 物件 (1) 物件導向 (2) 型別 (4) 封裝 (1) 流程控制 (1) 陣列 (3) 推論型別 (2) 實機測試 (1) 蓋索林(gasolin) (1) 模組 (1) 憑證 (1) 轉型 (1) 羅康鴻 (121) 類別 (1) 變數 (5) Accelerometer (1) ActiveRecord (1) Activity (1) AFNetworking (1) alloc (1) Android (3) Animation (1) App (1) App ID (1) APP上傳 (1) ASP.NET (1) AVAudioPlayer (1) block (1) C# (2) class (1) CLLocationManager (1) CLLocationManagerDelegate (1) CMMotionManager (4) Controller (1) delegate (1) DELETE語法 (1) Device Motion資料 (1) Dialog (1) DropDownList (1) dynamic language (2) Facebook SDK (9) FBRequest (5) FBRequestConnection (2) FMDB (1) Gesture Recognizers (6) GROUP BY (2) Gyro (1) HAVING (1) IBAction (1) IBOutlet (1) id (3) inheritance (1) init (1) Insert (1) instance variable (1) Interface Builder (1) iOS (70) iOS idea (7) iOS Introduction (1) Layout (1) Magnetometer (1) Menu (2) Method (2) MKMapView (1) MKPointAnnotation (1) MS SQL (5) Nil (1) NSArray (1) NSDictionary (1) NSError (1) NSFileManager & .plist (1) NSMutableArray (1) NSMutableDictionary (1) NSNotificationCenter (1) NULL (1) object (2) Objective-C (16) Objective-C idea (1) ORDER BY (1) Parameter (1) property (1) protocol (2) Provisioning (1) Proximate Sensor (1) Q and A (2) R類別 (1) Rails (9) RESTful SOA (9) Ruby (8) Scene (1) SEELECT (1) Segue (2) SEL (1) SELECT語法 (1) Shake (1) Simulator (1) SOA (8) SQL (6) SQL Server (5) SQL函數 (1) SQL彙總函數 SQL (1) SQLite (1) Storyboard (1) Style (1) Swift (1) Table (1) target & action (1) Theme (1) Toast (1) TRUNCATE TABLE語法 (1) UIActionSheet (1) UIActionSheetDelegate (1) UIActivityIndicatorView (1) UIAlertView (1) UIBarButtonItem (1) UIButton (1) UICollectionView (1) UICollectionViewDataSource (1) UIControl (9) UIDatePicker (1) UIImage (1) UIImagePickerController (2) UIImagePickerControllerDelegate (2) UIImageView (1) UILabel (1) UILongPressGestureRecognizer (1) UINavigationController (2) UIPanGestureRecognizer (1) UIPinchGestureRecognizer (1) UIProgressView (1) UIResponder (1) UIRotationGestureRecognizer (1) UISegmentedControl (1) UISlider (1) UIStepper (1) UISwipeGestureRecognizer (1) UISwitch (1) UITabBarController (1) UITableView (1) UITableViewDataSource (1) UITapGestureRecognizer (1) UITextField (1) UITextFieldDelegate (1) UITextView (2) UITextViewDelegate (1) UIToolBar (1) UIView (8) UIWebView (1) UPDATE語法 (1) var (2) VB.NET (7) View (4) WHERE子句 (1) XML (1)

2013/06/14

[iOS] 觸碰手勢 - UITapGestureRecognizer


我是UITapGestureRecognizer,我幫您辨識使用者觸碰手勢











第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