国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

iOSUITouch觸摸與UIGesture手勢.01.事件、觸摸(touch)事件

2019-11-14 19:20:33
字體:
來源:轉載
供稿:網友

一、iOS事件:

  1.事件:事件就是當你在手機上點擊手機屏幕、滑動手機翻面、搖動手機的時候,手機做出一些反應,對應的在應用程序里實現了某些代碼的某些功能,完成這個過程就是一個事件。

  2.iOS事件類型:

  (1)觸摸事件,比如點擊照片放大、點擊按鈕等。

  (2)運動事件,比如微信搖一搖,就是一個很典型的運動事件,通過手機的運動,實現某些功能。

  (3)遠程控制事件,這個我也不知道舉什么例子。

  

  

 

二、觸摸事件

  1.觸摸事件的處理方法:

  復寫以下方法,監聽觸摸事件。

   

  2.UITouch觸摸對象

  (1)先來看觸摸事件會包含哪些信息:window:觸摸產生所在的窗口、view:觸摸產生所處的視圖、tapCount觸摸是單擊還是雙擊或者更多、phase觸摸事件在屏幕上有一個周期,即觸摸開始、觸摸點移動、觸摸結束、還有中途取消。通過phase可以查看當前觸摸時間在一個周期中所處的狀態。phase是UITouchPhase類型的,它是一個枚舉:

  ·  UITouchPhaseBegan

  ·  UITouchPhaseMoved

  ·  UITouchPhaseStationary
  ·  UITouchPhaseEnded
  
  window、view、tapCount、phase都是UITouch類中常用屬性,也就是說建立一個UITouch對象就可以用這些屬性來看觸摸事件包含的信息。
  
  (2)
  

  (3)實例代碼:新建一個工程,在ViewController中寫如下方法

  -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{

      //UITouch類中有已經建立了很多UITouch對象,只需要從中取出來即可,不用重復創建,所以此處不用alloc,用一個UITouch的對象touch接收就行了。anyObject是從類里面任意取出來一個。

      UITouch * touch=[UITouch anyObject];取出一個觸摸點。

      NSLog(@"%@",touch.window)//打印下touch的window屬性。

      NSLog(@"%@", touch.view);//打印下當前觸摸的view。

      NSLog(@"tapCount:%ld", touch.tapCount);//打印點擊次數。

      NSLog(@"phase: %ld", touch.phase);//當前狀態。

      //下面寫一個switch,根據點擊次數,實現不同的功能,具體代碼就不實現了。

      switch (touch.tapCount) {

            case 1:

         

        break;

           case 2:

           

                break;

           case 3:

          

            default:

                break;

      }

  }

  (4)UITouch類中常用方法 

  既然是類中的常用方法,那么,是實例方法的話,我們創建一個UITouch對象就可以調用,是類方法的話,我們直接用類名,即[UITouch ];可以調用。

  

  例如在(3)中我們可以用取出來的對象調用這兩個方法。

  CGPoint point =[touch locationInView:touch.view];//調用這個方法可以獲得點擊時候的位置,用一個CGPoint類型的變量接收就可以得到一個點。

  至于如何打印出這個點,我也不知道,如果你知道還望告知,謝謝。

  (5)touch事件的傳遞

  

  那么上圖中的UIGestureRecognizer又是什么呢?還有什么是第一響應者?下篇博客有詳細說明。

  摘自文檔:

  

    


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 甘谷县| 黄浦区| 鱼台县| 延庆县| 中阳县| 新源县| 宁波市| 丘北县| 乌鲁木齐市| 邢台市| 尚志市| 萍乡市| 泗洪县| 晋中市| 乐亭县| 威信县| 越西县| 资溪县| 东阳市| 潼关县| 怀集县| 大化| 赤峰市| 偃师市| 峨眉山市| 台中县| 土默特右旗| 迭部县| 泊头市| 昔阳县| 拜城县| 威信县| 栖霞市| 瑞金市| 威宁| 泰安市| 台前县| 信宜市| 绥江县| 石家庄市| 湛江市|