iOS面試題03-UI控件

UI控件面試題

1.怎麼解決緩存池端的問題(cell)java

回答:1.>OS中不存在緩存池的狀況,由於一般咱們iOS開發,對象都是在須要的時候纔會建立,面試

有種經常使用的說話叫作懶加載,還有在UITableView中通常只會建立剛開始出如今屏幕中的cell,以後都是從緩存池裏取,不會在建立新對象。緩存池裏最多也就一兩個對象,緩存池滿的這種狀況通常在開發java中比較常見,java中通常把最近使用的對象先釋放緩存

   2>優先一處使用次數比較少的對象、優先緩存時間最長的對象(讓年輕的活下來)、優先移除佔用內存比較大對象動畫

2.CAAnimation的層級結構spa

 

若是使用CAAnimation3d

1>建立CAAimation對象對象

2>設置CAAnimation對象的屬性blog

3>添加CAAnimation對象到CALayer上,CALayer就會自動執行這個動畫繼承

keyPath=@"bounds";內存

3.UIButton與UITableView的層級結構

回答:1>繼承結構

   2>內部的子控件結構

4.如何渲染自定義格式字符串的UILabel

回答:1>經過NSAttributedString類

 

5.設置scroll view的contensize能在Viewdidload裏設置嗎,爲何

回答:1>能

任何控制器在建立控制器View在ViewDidLoad那一刻320X480,因此,UIScrollView的contentSize是基於子控制器0   View的尺寸320X480,contentSize是在ViewDidLoad進行調整尺寸,當加入到控制器View尺寸又會被調整變小

當子控制器添加到控制器View,子控制View尺寸被調整,建立控制器的View在viewDidLoad、viewWillAppear、viewDidAppear那一刻尺寸多是不同

相關文章
相關標籤/搜索