1.事件響應(yīng)
視圖層繼承于UIResponder,可以相應(yīng)多種點(diǎn)擊事件找岖。
- – touchesBegan:withEvent:
- – touchesMoved:withEvent:
- – touchesEnded:withEvent:
- – touchesCancelled:withEvent:
關(guān)于事件處理和傳遞連接:
1.Responder Chain簡析
2.通過實(shí)現(xiàn)一個(gè)TableView來理解IOS UI編程
2.View和CALayer
Layer 的 frame 是由它的 anchorPoint,position,bounds,和 transform 共同決定的嫉晶,而一個(gè) View 的 frame 只是簡單的返回 Layer的 frame骑疆,同樣 View 的 center和 bounds 也是返回 Layer 的一些屬性。
關(guān)于Frame詳細(xì)理解:
理解Frame
3.UIView顯示主要內(nèi)容替废,而CALayer則側(cè)重于圖形繪制
UIView是CALayer的代理箍铭。
總結(jié)
總接來說就是如下幾點(diǎn):
- 每個(gè) UIView 內(nèi)部都有一個(gè) CALayer 在背后提供內(nèi)容的繪制和顯示,并且 UIView 的尺寸樣式都由內(nèi)部的 Layer 所提供椎镣。兩者都有樹狀層級結(jié)構(gòu)诈火,layer 內(nèi)部有 SubLayers,View 內(nèi)部有 SubViews.但是 Layer 比 View 多了個(gè)AnchorPoint状答。
- 在 View顯示的時(shí)候冷守,UIView 做為 Layer 的 CALayerDelegate,View 的顯示內(nèi)容由內(nèi)部的 CALayer 的 display。
- CALayer 是默認(rèn)修改屬性支持隱式動(dòng)畫的惊科,在給 UIView 的 Layer 做動(dòng)畫的時(shí)候拍摇,View 作為 Layer 的代理,Layer 通過 actionForLayer:forKey:向 View請求相應(yīng)的 action(動(dòng)畫行為)馆截。
- layer 內(nèi)部維護(hù)著三分 layer tree,分別是 presentLayer Tree(動(dòng)畫樹),modeLayer Tree(模型樹), Render Tree (渲染樹),在做 iOS動(dòng)畫的時(shí)候充活,我們修改動(dòng)畫的屬性,在動(dòng)畫的其實(shí)是 Layer 的 presentLayer的屬性值,而最終展示在界面上的其實(shí)是提供 View的modelLayer蜡娶。
- 兩者最明顯的區(qū)別是 View可以接受并處理事件混卵,而 Layer 不可以。