前言: 按照時(shí)間順序,事件的生命周期是這樣的:事件的產(chǎn)生和傳遞(事件如何從父控件傳遞到子控件并尋找到最合適的view、尋找最合適的view的底層實(shí)現(xiàn)、攔截事件的處理)->找到...
iOS Objective -C alloc 調(diào)用流程 iOS Object-C init&new iOS OC 對(duì)象的內(nèi)存對(duì)齊原則 iOS Objective-C isa ...
前言 第一:本文揭示了決定CALayer 大小和位置的其實(shí)是它的屬性bounds和position;CALayer的frame屬性,實(shí)際上是從bounds和position屬...
圖層樹的類型 layer tree 分為 model layer tree(模型圖層樹) 、presentation layer tree(表示圖層樹) 、render la...
layoutSubviews在以下情況下會(huì)被調(diào)用: init初始化不會(huì)觸發(fā)layoutSubviews但是是用initWithFrame 進(jìn)行初始化時(shí),當(dāng)rect的值不為CG...
前言 Blocks是C語言的擴(kuò)充功能,而Apple 在OS X Snow Leopard 和 iOS 4中引入了這個(gè)新功能“Blocks”。從那開始,Block就出現(xiàn)在iOS...
1.UIView的setNeedsDisplay和setNeedsLayout方法首先兩個(gè)方法都是異步執(zhí)行的。而setNeedsDisplay會(huì)調(diào)用自動(dòng)調(diào)用drawRect方...
NSDictionary介紹 NSDictionary(字典)是使用 hash表來實(shí)現(xiàn)key和value之間的映射和存儲(chǔ)的, hash函數(shù)設(shè)計(jì)的好壞影響著數(shù)據(jù)的查找訪問效率。...
iOS 底層原理 文章匯總[http://www.itdecent.cn/p/412b20d9a0f6] 本文主要介紹block的類型、循環(huán)引用的解決方法以及block底層...
好奇觸摸事件是如何從屏幕轉(zhuǎn)移到APP內(nèi)的?困惑于Cell怎么突然不能點(diǎn)擊了?糾結(jié)于如何實(shí)現(xiàn)這個(gè)奇葩響應(yīng)需求?亦或是已經(jīng)被響應(yīng)鏈、手勢(shì)、target-action這一系列響應(yīng)觸...
博客鏈接深入理解GCD之dispatch_group 之前已經(jīng)介紹了dispatch_semaphore的底層實(shí)現(xiàn),dispatch_group的實(shí)現(xiàn)是基于前者的。在看源碼之...
摘錄: 「想名真難」、「猴子的毛」 簡(jiǎn)化核心函數(shù)dispatch_once_f: 1、dispatch_atomic_cmpxchg,它是一個(gè)宏定義,原型為__sync_bo...
GCD里的單例函數(shù)dispatch_once是我們經(jīng)常會(huì)用到的,今天我們來稍做深入分析一下。GCD的源碼都在libdispatch.dylib庫(kù)里,這個(gè)庫(kù)在libSystem...