1、frame和約束的關(guān)系,frame的原理
在iOS中绞佩,每個(gè)控件都是繼承于UIView的,都會(huì)有視圖的屬性存在猪钮,控制這個(gè)視圖的位置就有Frame和Bounds兩個(gè)屬性
frame指的是:該view在父view坐標(biāo)系統(tǒng)中的位置和大小品山。(參照點(diǎn)是父親的坐標(biāo)系統(tǒng))
bounds指的是:該view在本身坐標(biāo)系統(tǒng)中 的位置和大小。(參照點(diǎn)是本身坐標(biāo)系統(tǒng))
2烤低、scrollview的原理
在滾動(dòng)過(guò)程當(dāng)中,其實(shí)是在修改原點(diǎn)坐標(biāo)肘交,當(dāng)手指觸摸后, scroll view會(huì)暫時(shí)攔截觸摸事件,使用一個(gè)計(jì)時(shí)器,假如在計(jì)時(shí)器到點(diǎn)后,沒(méi)有發(fā)生手指移動(dòng)事件,那么,scroll view發(fā)送tracking events到被點(diǎn)擊的subview假如在計(jì)時(shí)器到點(diǎn)前,發(fā)生了移動(dòng)事件,那么 scroll view 取消tracking自己發(fā)生滾動(dòng)
3、循環(huán)引用
? ? NSTimer經(jīng)常會(huì)被作為某個(gè)類的成員變量扑馁,而NSTimer初始化時(shí)要指定self為target酸些,容易造成循環(huán)引用。 另一方面檐蚜,若timer一直處于validate的狀態(tài),則其引用計(jì)數(shù)將始終大于0
4沿侈、數(shù)據(jù)持久化
5闯第、如何讓播放器橫屏
6、一個(gè)連續(xù)數(shù)組缀拭,中間丟了一個(gè)數(shù)咳短,怎么知道丟失的哪個(gè)
7、uitableview去除偏移量
8蛛淋、layer圓角 左上右下
9咙好、APP簽名流程
10、runtime執(zhí)行過(guò)程
11褐荷、動(dòng)態(tài)庫(kù)靜態(tài)庫(kù)
12勾效、字符串去重
13、點(diǎn)擊響應(yīng)事件
14、oc類怎么執(zhí)行
1.當(dāng)程序啟動(dòng)時(shí)层宫,就會(huì)加載項(xiàng)目中所有的類杨伙,而且加載后會(huì)調(diào)用每個(gè)類的+load方法,只會(huì)調(diào)用一次萌腿;
2.當(dāng)?shù)谝淮问褂媚硞€(gè)類時(shí)限匣,就會(huì)調(diào)用當(dāng)前類的+initialize方法;
3.先加載父類毁菱,再加載子類(先調(diào)用父類的+load方法米死,再調(diào)用子類的+load方法,最后調(diào)用分類的+load方法)贮庞,先初始化父類峦筒,再初始化子類(先調(diào)用父類的+initialize方法,再調(diào)用子類的+initialize方法)贸伐。
4.注意:在初始化的時(shí)候勘天,如果在分類中重寫(xiě)了+initialize方法,則會(huì)覆蓋掉父類的捉邢。
5.重寫(xiě)+initialize方法可以監(jiān)聽(tīng)類的使用情況脯丝。
首先從硬盤(pán)load程序代碼到內(nèi)存。
其次操作系統(tǒng)找到程序入口開(kāi)始執(zhí)行伏伐。