iOS.UI進階.UITouch觸摸與UIGesture手勢.03.手勢辨識器(UIGestureRecognizer),uigesture.03

來源:互聯網
上載者:User

iOS.UI進階.UITouch觸摸與UIGesture手勢.03.手勢辨識器(UIGestureRecognizer),uigesture.03

一、什麼是手勢辨識器:

  手勢辨識器UIGestureRecognizer是用來識別使用者使用裝置時候,所用的是手勢,是滑動呢,還是輕擊還是其他。

  UIGestureRecognizer類,用於檢測、識別使用者使用裝置時所用的手勢。它是一個抽象類別,定義了所有手勢的基本行為。以下是UIGestureRecognizer子類,用於處

理具體的使用者手勢行為:

  • UITapGestureRecognizer(輕擊) 
  • UIPinchGestureRecognizer(捏合) 
  • UIPanGestureRecognizer(平移) 
  • UISwipeGestureRecognizer(輕掃) 
  • UIRotationGestureRecognizer(旋轉) 
  • UILongPressGestureRecognizer(長按) 

  它們都繼承於UIGestureRecognizer,是它的子類。

二、執行個體

  以UITapGestureRecognizer(輕擊)為例:

  先看它的兩個屬性:

  @property (nonatomic) NSUInteger  numberOfTapsRequired;       // Default is 1. The number of taps required to match

  @property (nonatomic) NSUInteger  numberOfTouchesRequired;    // Default is 1. The number of fingers required to match

   其中numberOfTapsRequired屬性可以輕擊的次數,預設是一次。numberOfTouchesRequired屬性可以設定幾隻手指輕擊,預設是一隻手指。兩個屬性   可以一起用,達到不同的效果。

  程式碼範例:

  - (void)viewDidLoad {

      [super viewDidLoad];

   //添加一個輕擊手勢gesture1,並實現輕擊時的方法gestureAction

      UITapGestureRecognizer * gesture1=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(sigleGestureAction)];

      [self.view addGestureRecognizer:gesture];//別忘了添加手勢,這裡把手勢添加在了self.view上。

   //添加雙擊手勢,實現雙擊方法。

   UITapGestureRecognizer * gesture2=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(doubelGestureAction)];

    gesture2.numberOfTapsRequired=2;//如果是雙擊,將這個屬性值設定為哦2。

      [self.view addGestureRecognizer:gesture2];

   gesture1 requireGestureRecognizerToFail:gesture2];//注意這句代碼是將兩重手勢區分開。 

   }

  -(void)sigleGestureAction{

   NSLog(@"單擊");

  }

  -(void)doubelGestureAction{

  NSLog(@"雙擊");

  }

  添加其他的手勢,方法基本上都是一樣的,當你添加的時,建立完對象不妨看看文檔,設定下屬性,寫下添加的方法就OK了。 

 

  

    

  初學iOS,如有錯誤,請不吝賜教。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.