一、bool 類型的tracking屬性
表意:跟蹤
當(dāng)觸摸scrollView的瞬間該屬性值變?yōu)閅ES,開(kāi)始跟蹤用戶行為,在觸摸沒(méi)有松開(kāi)時(shí)(包括滾動(dòng)或者靜止),該屬性一直是YES。
觸摸一旦消失,該屬性值為NO,scrollView為自由滾動(dòng)或者靜止?fàn)顟B(tài)。
具體事件為:
- tracking屬性變?yōu)閅ES
- 觸摸攔截事件
- 一個(gè)內(nèi)置的計(jì)時(shí)器開(kāi)始生效,用來(lái)檢測(cè)在極短的時(shí)間內(nèi)手指是否發(fā)生了移動(dòng)
如果在時(shí)間間隔內(nèi)沒(méi)有發(fā)生明顯的滾動(dòng),則將觸摸事件傳遞給觸摸的subview上(如果subView可以響應(yīng)這次觸摸事件,則交給該控件處理)
如果在時(shí)間間隔內(nèi)發(fā)生較大距離的拖動(dòng),則scrollView處理這次觸摸事件,scrollView發(fā)生滾動(dòng),手指觸摸下即使有可以處理此次觸摸事件的內(nèi)部控件,也不會(huì)將其傳遞給內(nèi)部控件響應(yīng)
二、delaysContentTouches:
默認(rèn)值是YES,如果為YES,就會(huì)延遲處理這個(gè)觸摸手勢(shì)的意圖,直到確定了在極短時(shí)間內(nèi)是否發(fā)生了滾動(dòng),如果沒(méi)有滾動(dòng) ,就把觸摸事件傳遞給觸摸的subview處理 (可以響應(yīng)事件的控件) ,如果滾動(dòng)了,則scrollView就會(huì)滾動(dòng) 自身響應(yīng)觸摸事件
如果為NO,scrollView立馬觸發(fā)- (BOOL)touchesShouldBegin:(NSSet *)touches withEvent:(UIEvent *)event inContentView:(UIView *)view方法 ,交給用戶自己判斷,此方法返回NO,則scrollView 不會(huì)將事件傳遞給view, 返回YES ,表示讓view響應(yīng)這個(gè)觸摸事件。默認(rèn)是返會(huì)YES
三、canCancelContentTouches:
默認(rèn)值為YES, 如果為YES,當(dāng)用戶觸摸手勢(shì)已經(jīng)被確定交給subview響應(yīng)的時(shí)候 ,會(huì)立即調(diào)用- (BOOL)touchesShouldCancelInContentView:(UIView *)view ,交給此方法處理接下來(lái)的動(dòng)作,如果此方法返回NO,則繼續(xù)傳遞給subview,scrollView不會(huì)滾動(dòng),返回YES,則scrollView會(huì)滾動(dòng) ,subview 會(huì)取消處理這個(gè)事件 如果返回NO ,則scrollView不會(huì)滾動(dòng), subview響應(yīng)這個(gè)觸摸事件