iOS面試題05-UI 控件(★★★)

2018 iOS面試題系列

一拧篮、怎么解決緩存池滿的問題(cell)

ios中不存在緩存池滿的情況,因?yàn)橥ǔN覀僫os中開發(fā),對象都是在需要的時候才會創(chuàng)建,有種常用的說話叫做懶加載爽丹,還有在UITableView中一般只會創(chuàng)建剛開始出現(xiàn)在屏幕中的cell,之后都是從緩存池里取辛蚊,不會在創(chuàng)建新對象粤蝎。緩存池里最多也就一兩個對象,緩存池滿的這種情況一般在開發(fā)java中比較常見袋马,java中一般把最近最少使用的對象先釋放初澎。


二、CAAnimation的層級結(jié)構(gòu)

三虑凛、UIButton與 UITableView的層級結(jié)構(gòu)

· 繼承結(jié)構(gòu)
· 內(nèi)部的子控件結(jié)構(gòu)


四碑宴、如何渲染自定義格式字符串的 UILabel

通過NSAttributedString類


五 、設(shè)置scroll view的contensize 能在Viewdidload里設(shè)置么,為什么


六桑谍、按鈕或者其它 UIView控件的事件傳遞的具體過程

觸摸事件的傳遞是從父控件傳遞到子控件也就是UIApplication->window->尋找處理事件最合適的view
注 意: 如果父控件不能接受觸摸事件墓懂,那么子控件就不可能接收到觸摸事件
應(yīng)用如何找到最合適的控件來處理事件?
1.首先判斷主窗口(keyWindow)自己是否能接受觸摸事件
2.判斷觸摸點(diǎn)是否在自己身上
3.子控件數(shù)組中從后往前遍歷子控件霉囚,重復(fù)前面的兩個步驟(所謂從后往前遍歷子控件,就是首先查找子控件數(shù)組中最后一個元素匕积,然后執(zhí)行1盈罐、2步驟)
4.view,比如叫做fitView闪唆,那么會把這個事件交給這個fitView盅粪,再遍歷這個fitView的子控件,直至沒有更合適的view為止悄蕾。
5.如果沒有符合條件的子控件票顾,那么就認(rèn)為自己最合適處理這個事件,也就是自己是最合適的view帆调。

UIView不能接收觸摸事件的三種情況:

  • 不允許交互:userInteractionEnabled = NO
  • 隱藏:如果把父控件隱藏奠骄,那么子控件也會隱藏,隱藏的控件不能接受事件
  • 透明度:如果設(shè)置一個控件的透明度<0.01番刊,會直接影響子控件的透明度含鳞。alpha:0.0~0.01為透明。
    注 意:默認(rèn)UIImageView不能接受觸摸事件芹务,因?yàn)椴辉试S交互蝉绷,即userInteractionEnabled = NO鸭廷。所以如果希望UIImageView可以交互,需要設(shè)置UIImageView的userInteractionEnabled = YES熔吗。

史上最詳細(xì)的iOS之事件的傳遞和響應(yīng)機(jī)制-原理篇


七辆床、控制器 View的生命周期及相關(guān)函數(shù)是什么?你在開發(fā)中是如何用的桅狠?
  • 1.首先判斷控制器是否有視圖讼载,如果沒有就調(diào)用loadView方法創(chuàng)建:通過storyboard或者代碼;
  • 2.隨后調(diào)用viewDidLoad垂攘,可以進(jìn)行下一步的初始化操作维雇;只會被調(diào)用一次;
  • 3.在視圖顯示之前調(diào)用viewWillAppear晒他;該函數(shù)可以多次調(diào)用吱型;
  • 4.視圖viewDidAppear
  • 5.在視圖消失之前調(diào)用viewWillDisappear;該函數(shù)可以多次調(diào)用陨仅;
    如需要)津滞;
  • 6.在布局變化前后,調(diào)用viewWill/DidLayoutSubviews處理相關(guān)信息灼伤;

八触徐、簡單說一下時間響應(yīng)的流程?

①一個 UIView 發(fā)出一個事件之后狐赡,首先上傳給其父視圖;②父視圖上傳給其所在的控制器;③如果其控制器對事件進(jìn)行處理撞鹉,事件傳遞將終止,否則繼續(xù)上傳父視圖;④直到遇到響應(yīng)者才會停止颖侄,否則事件將一直上傳鸟雏,直到 UIWindow。


九览祖、UIscrollVew用到了什么設(shè)計(jì)模式孝鹊?還能再foundation庫中找到類似的嗎?

模板模式展蒂,所有 datasource 和 delegate 接口都是模板模式的典型應(yīng)用又活,組合模式composition,所有的 containerview 都用了這個模式觀察者模式 observer锰悼,所有的 UIResponder 都用了這個模式


十柳骄、動態(tài)綁定—在運(yùn)行時確定要調(diào)用的方法

動態(tài)綁定將調(diào)用方法的確定也推遲到運(yùn)行時。在編譯時箕般,方法的調(diào)用并不和代碼綁定在一起夹界,只有在消實(shí)發(fā)送出來之后,才確定被調(diào)用的代碼。通過動態(tài)類型和動態(tài)綁定技術(shù)可柿,您的代碼每次執(zhí)行都可以得到不同的結(jié)果鸠踪。運(yùn)行時因子負(fù)責(zé)確定消息的接 收者和被調(diào)用的方法。運(yùn)行時的消息分發(fā)機(jī)制為動態(tài)綁定提供支持复斥。當(dāng)您向一個動態(tài)類型確定了的對象發(fā)送消息時营密,運(yùn)行環(huán)境系統(tǒng)會通過接收者的 isa 指針定位對象的類,并以此為起點(diǎn)確定被調(diào)用的方法目锭,方法和消息是動態(tài)綁定的评汰。而且,您不必在 Objective-C 代碼中做任何工作痢虹,就可以自動獲取動態(tài)綁定的好處被去。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市奖唯,隨后出現(xiàn)的幾起案子惨缆,更是在濱河造成了極大的恐慌,老刑警劉巖丰捷,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件坯墨,死亡現(xiàn)場離奇詭異,居然都是意外死亡病往,警方通過查閱死者的電腦和手機(jī)捣染,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來停巷,“玉大人耍攘,你說我怎么就攤上這事∨锨冢” “怎么了蕾各?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長硼被。 經(jīng)常有香客問我,道長渗磅,這世上最難降的妖魔是什么嚷硫? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮始鱼,結(jié)果婚禮上仔掸,老公的妹妹穿的比我還像新娘。我一直安慰自己医清,他們只是感情好起暮,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著会烙,像睡著了一般负懦。 火紅的嫁衣襯著肌膚如雪筒捺。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天纸厉,我揣著相機(jī)與錄音系吭,去河邊找鬼。 笑死颗品,一個胖子當(dāng)著我的面吹牛肯尺,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播躯枢,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼则吟,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了锄蹂?” 一聲冷哼從身側(cè)響起氓仲,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎败匹,沒想到半個月后寨昙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡掀亩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年舔哪,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片槽棍。...
    茶點(diǎn)故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡捉蚤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出炼七,到底是詐尸還是另有隱情缆巧,我是刑警寧澤,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布豌拙,位于F島的核電站陕悬,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏按傅。R本人自食惡果不足惜捉超,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望唯绍。 院中可真熱鬧拼岳,春花似錦、人聲如沸况芒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至耐版,卻和暖如春祠够,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背椭更。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工哪审, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人虑瀑。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓湿滓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親舌狗。 傳聞我的和親對象是個殘疾皇子叽奥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評論 2 355

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