初級_觸摸事件

iOS事件###

1.觸摸事件:通過手勢觸發(fā)
2.運動事件:通過手機(jī)搖晃,加速器進(jìn)行觸發(fā)
3.遠(yuǎn)程控制事件:通過其他遠(yuǎn)程設(shè)備觸發(fā)

處理觸發(fā)事件需要繼承UIResponder類的對象才能使用,UIResponder類定義了三類事件相關(guān)的處理方法:
觸發(fā)事件

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

運動事件

- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event; 
...

遠(yuǎn)程處理事件

- (void)remoteControlReceivedWithEvent:(UIEvent *)event;  
...

手勢使用方法###

創(chuàng)建手勢對象

 UITapGestureRecognizer *tapGesture=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapAction:)];

設(shè)置手勢屬性

 tapGesture.numberOfTapsRequired=1;

添加手勢所在的對象

[self.view addGestureRecognizer:tapGesture];

編寫手勢觸發(fā)方法

-(void) tapGesture:(UITapGestureRecognizer *)gesture{}

默認(rèn)是不支持交互的,也就是userInteractionEnabled=NO可霎,因此要接受手勢必須設(shè)置userInteractionEnabled=YES(在iOS中UILabel、UIImageView的userInteractionEnabled默認(rèn)都是NO宴杀,UIButton啥纸、UITextField、UIScrollView婴氮、UITableView等默認(rèn)都是YES)斯棒。

輕掃手勢雖然是連續(xù)手勢但是它的操作事件只會在識別結(jié)束時調(diào)用一次盾致,其他連續(xù)手勢都會調(diào)用多次,一般需要進(jìn)行狀態(tài)判斷荣暮;此外輕掃手勢支持四個方向庭惜,但是如果要支持多個方向需要添加多個輕掃手勢。

手勢沖突###

手勢和手勢觸發(fā)區(qū)域有交集時穗酥,會導(dǎo)致其中一個手勢執(zhí)行失敗护赊。
解決沖突方法

- (void)requireGestureRecognizerToFail:(UIGestureRecognizer *)otherGestureRecognizer;

一個手勢完成的前提,為另外一種手勢執(zhí)行失敗砾跃。

– (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
if ([touch.view isKindOfClass:[UIButton class]]){
return NO;
}
return YES;
}

設(shè)置手勢在固定控件或區(qū)域不響應(yīng)

iOS的觸摸事件中骏啰,事件觸發(fā)是根據(jù)響應(yīng)者鏈進(jìn)行的,上層觸摸事件執(zhí)行后就不再向下傳播抽高。默認(rèn)情況下手勢也是類似的判耕,先識別的手勢會阻斷手勢識別操作繼續(xù)傳播。如果想讓兩層控件都添加了手勢的控件都能正確識別手勢翘骂,可以用代理傳遞下去壁熄。

-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer;

默認(rèn)返回NO,如果返回YES則手勢向下傳遞碳竟。

運動事件###

和運動相關(guān)包括三個事件:運動開始喂柒、運動結(jié)束腋么、取消運動
監(jiān)聽運動事件對UI控件有個前提聪铺,必須讓監(jiān)聽的控件成為第一響應(yīng)者(對于UIViewController視圖控制器和UIAPPlication沒有此要求)尼荆。也就是說(BOOL)canBecomeFirstResponder;方法必須返回YES。同時控件顯示時(在-(void)viewWillAppear:(BOOL)animated;事件中)調(diào)用視圖控制器的becomeFirstResponder方法诈泼。當(dāng)視圖不再顯示時(在-(void)viewDidDisappear:(BOOL)animated;事件中)注銷第一響應(yīng)者身份仙蚜。

pragma mark 設(shè)置控件可以成為第一響應(yīng)者

-(BOOL)canBecomeFirstResponder{
    return YES;
}
#pragma mark 運動開始
-(void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event{
    //這里只處理搖晃事件
    if (motion==UIEventSubtypeMotionShake) {
    }
}
#pragma mark 運動結(jié)束
-(void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event{
}

遠(yuǎn)程控制事件###

有一個和遠(yuǎn)程控制相關(guān)的方法:

-(void)remoteControlReceivedWithEvent:(UIEvent *)event;

要監(jiān)聽到這個事件有三個前提(視圖控制器UIViewController或應(yīng)用程序UIApplication只有兩個)
1.啟用遠(yuǎn)程事件接收使用[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];方法厂汗。
2.對于UI控件同樣要求必須是第一響應(yīng)者(對于視圖控制器UIViewController或者應(yīng)用程序UIApplication對象監(jiān)聽無此要求)。
3.應(yīng)用程序必須是當(dāng)前音頻的控制者呜师,也就是在iOS 7中通知欄中當(dāng)前音頻播放程序必須是我們自己開發(fā)程序娶桦。

感謝筆記出處http://www.cnblogs.com/kenshincui/p/3950646.html#autoid-4-0-0

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市汁汗,隨后出現(xiàn)的幾起案子衷畦,更是在濱河造成了極大的恐慌,老刑警劉巖知牌,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件祈争,死亡現(xiàn)場離奇詭異,居然都是意外死亡角寸,警方通過查閱死者的電腦和手機(jī)菩混,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進(jìn)店門忿墅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人沮峡,你說我怎么就攤上這事疚脐。” “怎么了邢疙?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵棍弄,是天一觀的道長。 經(jīng)常有香客問我疟游,道長呼畸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任颁虐,我火速辦了婚禮蛮原,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘聪廉。我一直安慰自己瞬痘,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布板熊。 她就那樣靜靜地躺著框全,像睡著了一般。 火紅的嫁衣襯著肌膚如雪干签。 梳的紋絲不亂的頭發(fā)上津辩,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天,我揣著相機(jī)與錄音容劳,去河邊找鬼喘沿。 笑死,一個胖子當(dāng)著我的面吹牛竭贩,可吹牛的內(nèi)容都是我干的蚜印。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼留量,長吁一口氣:“原來是場噩夢啊……” “哼窄赋!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起楼熄,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤忆绰,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后可岂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體错敢,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年缕粹,在試婚紗的時候發(fā)現(xiàn)自己被綠了稚茅。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片纸淮。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖峰锁,靈堂內(nèi)的尸體忽然破棺而出萎馅,到底是詐尸還是另有隱情,我是刑警寧澤虹蒋,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布糜芳,位于F島的核電站,受9級特大地震影響魄衅,放射性物質(zhì)發(fā)生泄漏峭竣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一晃虫、第九天 我趴在偏房一處隱蔽的房頂上張望皆撩。 院中可真熱鬧,春花似錦哲银、人聲如沸扛吞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽滥比。三九已至,卻和暖如春做院,著一層夾襖步出監(jiān)牢的瞬間盲泛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工键耕, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留寺滚,地道東北人。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓屈雄,卻偏偏與公主長得像村视,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子酒奶,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內(nèi)容