iOS學(xué)習(xí)筆記(2)— UIView用戶事件響應(yīng)

原文地址:http://www.cnblogs.com/zy1987/p/3195645.html?utm_source=tuicool&utm_medium=referral

UIView除了負(fù)責(zé)展示內(nèi)容給用戶外還負(fù)責(zé)響應(yīng)用戶事件巫俺。本章主要介紹UIView用戶交互相關(guān)的屬性和方法闷供。

1蚂维、交互相關(guān)的屬性

userInteractionEnabled默認(rèn)是YES?伯铣,如果設(shè)置為NO則不響應(yīng)用戶事件,并且把當(dāng)前控件從事件隊(duì)列中刪除吹泡。也就是說(shuō)設(shè)置了userInterfaceEnabled屬性的視圖會(huì)打斷響應(yīng)者鏈導(dǎo)致該view的subview都無(wú)法響應(yīng)事件盟庞。

multipleTouchEnabled默認(rèn)是NO,如果設(shè)置為YES則支持多點(diǎn)觸碰跃巡。

exclusiveTouch默認(rèn)是NO危号,如果設(shè)置為YES則當(dāng)前UIView會(huì)獨(dú)占整個(gè)Touch事件。具體來(lái)說(shuō)就是如果UIView設(shè)置了exclusiveTouch屬性為YES則當(dāng)這個(gè)UIView成為第一響應(yīng)者時(shí)素邪,在手指離開(kāi)屏幕前其他view不會(huì)響應(yīng)任何touch事件外莲。

作用舉例:UITableView的每個(gè)cell都需要使用exclusive,否則同時(shí)點(diǎn)擊多個(gè)cell會(huì)觸發(fā)每個(gè)視圖的事件響應(yīng)兔朦。手勢(shì)識(shí)別會(huì)忽略此屬性偷线。

2、觸摸響應(yīng)

了解UIView的觸碰響應(yīng)之前沽甥,首先了解在iOS中觸碰事件是什么声邦,事件在視圖模型中是如何傳遞的,視圖在接收到一個(gè)事件是如何響應(yīng)的摆舟。下面介紹觸碰事件類UITouch和響應(yīng)者鏈來(lái)解釋事件的工作原理亥曹。

在iOS中UITouch類代表觸碰事件。當(dāng)用戶觸摸屏幕后就會(huì)產(chǎn)生相應(yīng)的事件恨诱,所有相關(guān)的UITouch對(duì)象都被包裝在事件中媳瞪,被程序交由特定的對(duì)象處理。UITouch對(duì)象包括觸碰的詳細(xì)信息胡野。

UITouch含有5個(gè)屬性:

window:觸碰產(chǎn)生時(shí)所處的窗口材失,由于窗口可能發(fā)生變化,當(dāng)前所在的窗口不一定是最開(kāi)始的窗口硫豆。

view:觸碰產(chǎn)生時(shí)所處的視圖龙巨。由于視圖可能發(fā)生變化笼呆,當(dāng)前視圖也不一定是最初的視圖。

tapCount:短時(shí)間內(nèi)輕擊(tap)屏幕的次數(shù)旨别,可根據(jù)tapCount判斷單擊诗赌、雙擊或更多的輕擊。

timestamp:時(shí)間戳記錄了觸碰事件產(chǎn)生或變化時(shí)的時(shí)間秸弛。單位是秒铭若。

phase:觸碰事件在屏幕上有一個(gè)周期,即觸碰開(kāi)始递览、觸碰點(diǎn)移動(dòng)叼屠、觸碰結(jié)束,中途取消绞铃。通過(guò)phase可以查看當(dāng)前觸碰事件在一個(gè)周期中所處的狀態(tài)镜雨。UITouchPhase枚舉:

UITouchPhaseBegan

UITouchPhaseMoved

UITouchPhaseStationary

UITouchPhaseEnded

UITouchPhaseCancelled

當(dāng)手指觸碰到屏幕,無(wú)論是單點(diǎn)還是多點(diǎn)觸碰儿捧,事件都會(huì)開(kāi)始荚坞,直到用戶所有的手指都離開(kāi)屏幕。期間所有的UITouch對(duì)象都被封裝在UIEvent事件對(duì)象中菲盾,由程序分發(fā)給處理者颓影。事件記錄了這個(gè)周期中所有觸碰對(duì)象狀態(tài)的變化。

只要屏幕被觸摸懒鉴,系統(tǒng)會(huì)將諾干個(gè)觸碰信息封裝到UIEvent對(duì)象中發(fā)送給程序诡挂,由管理程序UIApplication對(duì)象將事件分發(fā)。

響應(yīng)者對(duì)象就是可以響應(yīng)事件并對(duì)事件作出處理的對(duì)象疗我。在iOS中UIResponder類定義了響應(yīng)者對(duì)象的所有方法咆畏。UIApplication、UIWindow吴裤、UIViewController旧找、UIView以及UIKit中繼承自UIView的控件都間接或直接繼承自UIResponder類,這些類都可以當(dāng)做響應(yīng)者麦牺。

響應(yīng)者鏈表示一系列響應(yīng)者對(duì)象組成的事件傳遞的鏈條钮蛛。當(dāng)確定了第一響應(yīng)者后,事件交由第一響應(yīng)者處理剖膳,如果第一響應(yīng)者不處理事件沿著響應(yīng)者鏈傳遞魏颓,交給下一個(gè)響應(yīng)者。一般來(lái)說(shuō)吱晒,第一響應(yīng)者是UIView對(duì)象或者UIView的子類對(duì)象甸饱,當(dāng)其被觸摸后事件交由它處理,如果它不處理,事件就會(huì)交給它的UIViewController處理(如果存在)叹话,然后是它的superview父視圖對(duì)象偷遗,以此類推,直到頂層視圖驼壶。如果頂層視圖不處理則交給UIWindow對(duì)象處理氏豌,再到UIApplication對(duì)象(如果UIApplication繼承自UIResponder)。如果整個(gè)響應(yīng)者鏈都不響應(yīng)這個(gè)事件則該事件被丟棄热凹。

UIView類繼承了UIResponder類泵喘,要對(duì)事件作出處理還需要重寫(xiě)UIResponder類中定義的事件處理函數(shù)。根據(jù)不同的觸碰狀態(tài)般妙,程序會(huì)調(diào)用相應(yīng)的處理函數(shù)纪铺,這些函數(shù)包括:

-(void)?touchesBegan:(NSSet?*)touches?withEvents:(UIEvent?*)event;

-(void)?touchesMoved:(NSSet?*)touches?withEvents:(UIEvent?*)event;

-(void)?touchesEnded:(NSSet?*)touches?withEvents:(UIEvent?*)event;

-(void)?touchesCancelled:(NSSet?*)touches?withEvents:(UIEvent?*)event;

這幾個(gè)方法被調(diào)用時(shí),對(duì)應(yīng)了UITouch類中的phase屬性的4個(gè)枚舉值碟渺。當(dāng)觸碰被取消霹陡,如觸碰過(guò)程中被來(lái)電打斷,會(huì)調(diào)用touchesCancelled:touches:方法止状。

這些方法在開(kāi)發(fā)中并不需要全部實(shí)現(xiàn),可以根據(jù)需要重寫(xiě)特定的方法攒霹。這4個(gè)方法都有兩個(gè)相同的參數(shù):NSSet類型的touches和UIEvent類型的event怯疤。Touches表示觸碰產(chǎn)生的所有的UITouch對(duì)象,event表示事件催束。因?yàn)閁IEvent包含了整個(gè)觸碰過(guò)程中所有的觸碰對(duì)象集峦,所以可以調(diào)用allTouches?方法獲取該事件內(nèi)所有觸碰對(duì)象,也可以調(diào)用touchesForView;或者touchesForWindows;取出特定視圖或者窗口上的觸碰對(duì)象抠刺。在這幾個(gè)事件中塔淤,都可以拿到觸碰對(duì)象,然后根據(jù)其位置速妖、狀態(tài)高蜂、時(shí)間屬性做邏輯處理。

輕擊操作很容易引起歧義罕容,比如用戶點(diǎn)擊了一次之后备恤,并不知道用戶是想單擊還是只是雙擊的一部分,或者點(diǎn)了兩次之后并不知道用戶是想雙擊還是繼續(xù)點(diǎn)擊锦秒÷恫矗可以使用延遲調(diào)用函數(shù)解決這個(gè)問(wèn)題。

-(void) touchesEnded:(NSSet*)touches withEvent:(UIEvent *)event

{

UITouch *touch = [touches anyObject];

if(touch.tapCount == 1)

{

[selfperformSelector:@selector(setBackground:) withObject:[UIColor blueColor] afterDelay:2];

}

elseif(touch.tapCount == 2)

{

[selfcancelPreviousPerformRequestsWIthTarget:selfselector:@selector(setBackground:) object:[UIColor blueColor]];

self.view.backgroundColor = [UIColor redColor];

}

}

除了觸碰事件外UIResponder還提供了運(yùn)動(dòng)事件的支持旅择。

運(yùn)動(dòng)事件的方法:

-(void)motionBegan:(UIEventSubtype)motion?withEvent:(UIEvent?*)event搖動(dòng)事件開(kāi)始

-(void)motionEnded:(UIEventSubtype)motion?withEvent:(UIEvent?*)event搖動(dòng)事件結(jié)束

-(void)motionCancelled:(UIEventSubtype)motion?withEvent:(UIEvent?*)event搖動(dòng)事件被中斷

遠(yuǎn)程事件:

-(void)remoteControlReceivedWithEvent:音樂(lè)后臺(tái)播放控制的時(shí)候會(huì)用到

第一響應(yīng)者的相關(guān)函數(shù):

-?(BOOL)canBecomeFirstResponder默認(rèn)返回NO

-?(BOOL)becomeFirstResponder

-?(BOOL)canResignFirstResponder默認(rèn)返回YES

-?(BOOL)resignFirstResponder;

-?(BOOL)isFirstResponder

可以通過(guò)becomeFirstResponder方法注冊(cè)成為第一響應(yīng)者惭笑,通過(guò)resignFirstResponder方法不成為第一響應(yīng)者。比如通過(guò)這兩個(gè)方法操作UITextField來(lái)控制鍵盤(pán)的現(xiàn)隱藏。

3沉噩、手勢(shì)

屬性:

NSArray *gestureRecognizers

可以通過(guò)這個(gè)屬性獲取當(dāng)前UIView的所有手勢(shì)對(duì)象捺宗。手勢(shì)在觸碰事件處理流程中,處于觀察者的角色屁擅,其不是view層級(jí)結(jié)構(gòu)的一部分偿凭,所以不參與響應(yīng)者鏈。在將觸摸事件發(fā)送給hit-test

view之前派歌,系統(tǒng)會(huì)先將觸碰事件發(fā)送到view綁定的Gesture Recognizer上弯囊。

UIView關(guān)于手勢(shì)的方法:

-(void)?addGestureRecognizer:(UIGestureRecognizer?*)gestureRecognizer增加一個(gè)手勢(shì)。

-(void)?removeGestureRecognizer:(UIGestureRecognizer?*)getureRecognizer刪除一個(gè)手勢(shì)胶果。

-(BOOL)?gestureRecognizerShouldBegan:(UIGestureRecognizer?*)gestureRecognizer詢問(wèn)是否開(kāi)始執(zhí)行該手勢(shì)匾嘱,默認(rèn)返回YES。

手勢(shì)相比觸碰事件的好處是可以直接使用已經(jīng)定義好的手勢(shì)早抠,開(kāi)發(fā)者不用自己計(jì)算手指移動(dòng)軌跡霎烙。手勢(shì)識(shí)別的基類是UIGestureRecognizer,是一個(gè)抽象類蕊连,定義了實(shí)現(xiàn)底層手勢(shì)識(shí)別行為的編程接口悬垃。衍生類如下:

UITabGestureRecognizer輕擊手勢(shì)

UIPinchGestureRecognizer捏合手勢(shì)

UIRotationGestureRecognizer旋轉(zhuǎn)手勢(shì)

UISwipeGestureRecognizer輕掃手勢(shì)

UIPanGestureRecognizer拖拽手勢(shì)

UILongPressGestrueRecognizer長(zhǎng)按手勢(shì)

UIGestureRecognizer主要方法:

-(id)?initWithTarget:action:初始化方法

-(void)addTarget:action:

-(void)removeTarget:action:

主要屬性:

UIGestureRecognizerState?state手勢(shì)識(shí)別當(dāng)前狀態(tài)

有以下幾種情況:

UIGestureRecognizerStatePossibel,? 未識(shí)別狀態(tài)

UIGestureRecognizerStateBegan,???? 手勢(shì)開(kāi)始

UIGestureRecognizerStateChanged,? 手勢(shì)改變

UIGestureRecognizerStateEnded, 手勢(shì)結(jié)束

UIGestureRecognizerStateFailured手勢(shì)失敗,被其他事件中斷甘苍。當(dāng)把手勢(shì)state設(shè)為這個(gè)值得時(shí)候相當(dāng)于取消了這個(gè)手勢(shì)尝蠕。

cancelsTouchesInView為YES時(shí),表示當(dāng)Gesture Recognizers識(shí)別到手勢(shì)后载庭,會(huì)向hit-test view發(fā)送touchesCancelled:消息以取消hit-test view對(duì)觸碰序列的處理看彼,這樣只有Gesture Recognizer響應(yīng)此次觸碰,響應(yīng)者鏈的view不再響應(yīng)囚聚。如果為NO靖榕,則不發(fā)送touchesCancelled:消息,這樣Gesture Recognizer和view同時(shí)響應(yīng)觸碰事件顽铸。默認(rèn)值是YES茁计。

delaysTouchesBegan為NO時(shí)表示觸碰序列已經(jīng)開(kāi)始而手勢(shì)識(shí)別還未識(shí)別出此手勢(shì)時(shí),touch事件會(huì)同時(shí)發(fā)給hit-test view跋破。如果為YES簸淀,則手勢(shì)在識(shí)別過(guò)程中,不會(huì)有任何觸碰事件發(fā)送給hit-test view毒返;如果手勢(shì)識(shí)別器最終識(shí)別了手勢(shì)租幕,則也不會(huì)發(fā)送任何消息給hit-test view;如果手勢(shì)識(shí)別器最終沒(méi)有識(shí)別到手勢(shì)拧簸,才會(huì)發(fā)送所有觸碰事件給view處理劲绪。默認(rèn)值是NO。

delaysTouchesBegan為YES時(shí),延遲發(fā)送touchesEnded:消息贾富,手勢(shì)失敗時(shí)才發(fā)送歉眷。默認(rèn)值是YES。

UITabGestureRecognizer輕擊手勢(shì)任意手指任意次數(shù)的點(diǎn)擊

屬性:

numberOfTapsRequired點(diǎn)擊次數(shù)

numberOfTouchesRequired手指?jìng)€(gè)數(shù)

UIPinchGestureRecognizer捏合或者擴(kuò)張手勢(shì)

屬性:

scale:初始值為1颤枪,兩手指距離減少則scale不斷變泻辜瘛;兩個(gè)手指重合則變?yōu)?畏纲;

velocity:初始值為0扇住,手指移動(dòng)的相對(duì)速度,兩手指距離減少為負(fù)數(shù)盗胀,速度越快數(shù)值越少艘蹋;兩手指距離變大為整數(shù),速度越快數(shù)值越大票灰。

UIRotationGestureRecognizer旋轉(zhuǎn)手勢(shì)

屬性:

rotation:初始值為0女阀,兩手指的旋轉(zhuǎn)弧度,順時(shí)針旋轉(zhuǎn)為正數(shù)屑迂,逆時(shí)針旋轉(zhuǎn)為負(fù)數(shù)浸策。

velocity:初始值為0手指一動(dòng)的相對(duì)速度,順時(shí)針為正數(shù)越快值越大惹盼;逆時(shí)針為負(fù)越快越小的榛。

UISwipGestureRecognizer輕掃手勢(shì),一個(gè)手勢(shì)只能指定一個(gè)方向逻锐,如果需要指定多個(gè)方向需要多個(gè)手勢(shì)

屬性:

numberOfTouchesRequired:?手指?jìng)€(gè)數(shù)

direction:手勢(shì)方向,如UISwipeGestureRecognizerDirectionRight 向右

UIPanGestureRecognizer:??拖拽手勢(shì)雕薪,相比輕掃手勢(shì)昧诱,手指與屏幕的交互時(shí)間更長(zhǎng)。

屬性:

mininumNumberOfTouches默認(rèn)值為1所袁,最少手指數(shù)量

maxnumNumberOfTouches最大手指數(shù)量

方法:

- (CGPoint)velocityInView:(UIView *)view返回拖拽手勢(shì)的速度盏档,值是每秒移過(guò)的point值,被分成水平和垂直兩個(gè)分量燥爷。

UILongPressGestrueRecognizer:?長(zhǎng)按手勢(shì)蜈亩。

屬性:

numberOfTapsRequired:默認(rèn)值為0,輕擊的次數(shù)前翎。

numberOfTouchesRequired:默認(rèn)值是1稚配,手指數(shù)量。

mininumPressDuration:默認(rèn)值為0.5港华,單位是秒道川。

allowableMovement:默認(rèn)值為10,單位是像素pixels。

多手勢(shì)兼容

可以為View添加多個(gè)手勢(shì)冒萄,缺省情況下臊岸,沒(méi)有對(duì)手勢(shì)的執(zhí)行順序排序,每次調(diào)用順序可能都不同尊流。通過(guò)以下方法可以控制手勢(shì)的響應(yīng)順序帅戒。

- (void)requireGestureRecognizerToFail:(UIGestureRecognizer *)otherGestureRecognizer

在作為參數(shù)的GestureRecognizer失敗以后手勢(shì)才發(fā)生,否則手勢(shì)從不會(huì)發(fā)生崖技。

[self.panRecognizer requireGestureRecognizerToFail:self.swipeRecognizer];捏合手勢(shì)失敗后才會(huì)觸發(fā)拖拽手勢(shì)逻住。如果捏合手勢(shì)成功則拖拽手勢(shì)永遠(yuǎn)不會(huì)被觸發(fā)

- (BOOL)canBePreventedByGestureRecognizer:(UIGestureRecognizer *)preventingGestureRecognizer

這個(gè)方法可以重載,比如UIGestureRecognizer的子類重載了這個(gè)方法返回NO响疚,也就是說(shuō)無(wú)論任何情況下子類的手勢(shì)都不能被阻止鄙信,是非常強(qiáng)勢(shì)的手勢(shì)。

如果返回YES忿晕,那么preventingGestureRecognizer傳入的手勢(shì)就會(huì)組織子類手勢(shì)装诡。比如:

[rotationGestureRecognizer canBePreventedByGestureRecognizer:pinchGestureRecognizer];如果rotation手勢(shì)重載了canBePreventedByGestureRecognizer方法并且返回YES。則旋轉(zhuǎn)手勢(shì)被捏合手勢(shì)阻止践盼,但是旋轉(zhuǎn)手勢(shì)不能阻止捏合手勢(shì)鸦采。

還可以在方法體中加入邏輯判斷。

- (BOOL)canPreventGestureRecognizer:(UIGestureRecognizer *)preventedGestureRecognizer

這個(gè)方法同樣可以重載咕幻,如果返回NO則這個(gè)手勢(shì)不能阻止其他任何手勢(shì)渔伯。

如果返回YES,就可以阻止preventedGestureRecognizer的手勢(shì)肄程。比如:

[rotationGestureRecognizer canPreventGestureRecognizer:pinchGestureRecognizer]; ?如果rotation手勢(shì)重載了canBePreventedByGestureRecognizer方法并且返回YES锣吼。則旋轉(zhuǎn)手勢(shì)阻止了捏合手勢(shì)。

UIGestureRecognizerDelegate

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer

此方法在gesture recognizer視圖傳出UIGestureRecognizerStatePossible狀態(tài)時(shí)調(diào)用蓝厌,如果返回NO玄叠,則轉(zhuǎn)換成UIGestureRecognizerStateFailed;如果返回YES拓提,則繼續(xù)識(shí)別读恃。默認(rèn)返回YES

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch

此方法在window對(duì)象有觸碰事件發(fā)生時(shí),touchesBegan:withEvent:方法之前調(diào)用代态。如果返回NO寺惫,則GestureRecognizer忽略此觸碰事件。默認(rèn)返回YES蹦疑∥魅福可以用于禁止某個(gè)區(qū)域的手勢(shì)。

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

如果有多個(gè)手勢(shì)接收到了同一個(gè)消息歉摧,該回調(diào)方法決定當(dāng)前手勢(shì)是否要響應(yīng)該事件蒋搜,如果返回YES則該事件被響應(yīng)篡撵,如果返回NO該事件將被忽略

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市豆挽,隨后出現(xiàn)的幾起案子育谬,更是在濱河造成了極大的恐慌,老刑警劉巖帮哈,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件膛檀,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡娘侍,警方通過(guò)查閱死者的電腦和手機(jī)咖刃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)憾筏,“玉大人嚎杨,你說(shuō)我怎么就攤上這事⊙跹” “怎么了枫浙?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)古拴。 經(jīng)常有香客問(wèn)我箩帚,道長(zhǎng),這世上最難降的妖魔是什么黄痪? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任紧帕,我火速辦了婚禮,結(jié)果婚禮上桅打,老公的妹妹穿的比我還像新娘是嗜。我一直安慰自己,他們只是感情好挺尾,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布叠纷。 她就那樣靜靜地躺著,像睡著了一般潦嘶。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上漱贱,一...
    開(kāi)封第一講書(shū)人閱讀 48,970評(píng)論 1 284
  • 那天滋觉,我揣著相機(jī)與錄音嘱巾,去河邊找鬼。 笑死锰蓬,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的眯漩。 我是一名探鬼主播芹扭,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼麻顶,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了舱卡?” 一聲冷哼從身側(cè)響起辅肾,我...
    開(kāi)封第一講書(shū)人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎轮锥,沒(méi)想到半個(gè)月后矫钓,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡舍杜,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年新娜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片既绩。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡概龄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出饲握,到底是詐尸還是另有隱情私杜,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布互拾,位于F島的核電站歪今,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏颜矿。R本人自食惡果不足惜寄猩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望骑疆。 院中可真熱鬧田篇,春花似錦、人聲如沸箍铭。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)诈火。三九已至兽赁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間冷守,已是汗流浹背刀崖。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留拍摇,地道東北人亮钦。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像充活,于是被迫代替她去往敵國(guó)和親蜂莉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蜡娶,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

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

  • UIView除了負(fù)責(zé)展示內(nèi)容給用戶外還負(fù)責(zé)響應(yīng)用戶事件。本章主要介紹UIView用戶交互相關(guān)的屬性和方法映穗。 1窖张、交...
    yida9623閱讀 1,615評(píng)論 0 1
  • UIView用戶事件響應(yīng) UIView除了負(fù)責(zé)展示內(nèi)容給用戶外還負(fù)責(zé)響應(yīng)用戶事件。本章主要介紹UIView用戶交互...
    subite0閱讀 249評(píng)論 0 1
  • 在iOS開(kāi)發(fā)中經(jīng)常會(huì)涉及到觸摸事件男公。本想自己總結(jié)一下荤堪,但是遇到了這篇文章,感覺(jué)總結(jié)的已經(jīng)很到位枢赔,特此轉(zhuǎn)載澄阳。作者:L...
    WQ_UESTC閱讀 5,988評(píng)論 4 26
  • 好奇觸摸事件是如何從屏幕轉(zhuǎn)移到APP內(nèi)的?困惑于Cell怎么突然不能點(diǎn)擊了踏拜?糾結(jié)于如何實(shí)現(xiàn)這個(gè)奇葩響應(yīng)需求碎赢?亦或是...
    Lotheve閱讀 56,661評(píng)論 51 597
  • -- iOS事件全面解析 概覽 iPhone的成功很大一部分得益于它多點(diǎn)觸摸的強(qiáng)大功能,喬布斯讓人們認(rèn)識(shí)到手機(jī)其實(shí)...
    翹楚iOS9閱讀 2,942評(píng)論 0 13