1 UIViewiview
1.1 建立自定義的UIView的xib文件ide
[1]設置 file's Owner的 Custom Class 中的class 執行自定義控件類ui
[2]設置當前UIView 的屏幕大小code
Simulated Metrics 中 Size 爲FreeFrom,其餘的Bar選項設置爲None事件
[3]自定義控件的兩種加載方式實現ip
- (id)initWithFrame:(CGRect)frame //通用在代碼中設置frame生成控件的方式it
-(id)initWithCoder:(NSCoder *)aDecoder //經過xib文件加載方式生成控件io
- (void) awakeFromNibclass
[4]得到當前控件的frame 容器
self.frame;
[5]在自定義控件中獲取自定義nib控件
NSBundle* bundle=[NSBundle mainBundle];
views= [bundle loadNibNamed:@"UIMainMenuButton1" owner:self options:nil];
UIView* uiview=[views objectAtIndex:0];
[6]設置自定義屬性
在類中添加自定義屬性
在添加自定義類的xib文件中選擇類,並在show the identity inspector 選項卡中添加 user defined runtime attributes
[7]自定義控件 不能計算當前控件的實際的寬高,但系統自帶的控件,如UILabel能夠計算實際的寬高,
在auto layout設置中必須高度,和寬度
[8]裁減內容
設置clips subviews 選中
[9]UIView和UIControl
UIView是UIControl的基類,UIControl中包含了觸控事件實現
基於UIControl的類,能夠直接在xib文件中直接設置action
在實現自定義控件過程當中,若是類的實現的界面中包含子控件,且子控件覆蓋界面所有,則在類實現的觸控事件就不會觸發(通常將事件移植到子控件中)
2 auto layout
[1] 在xib文件中的 show file inspector,選擇Use auto layout
[2] 添加控件的約束
從菜單項 Editor-->pin
xib界面的右下方 選擇
[3]常見約束,長寬
相對於父容器的四個邊的距離
相對於父容器,橫向,縱向居中對齊,
相對於其餘控件,長度,寬度相等,左邊,右邊,中間對齊,上邊,下面,對齊,橫向間隔,縱向間隔
[4]編輯修改當前任一控件的約束
直接選擇控件,根據面板中顯示的約束線,雙擊並修改
選擇控件,查看Show the size inspector 面板,顯示當前的約束,並修改
[5]常見界面設置尺寸爲4.7 inch
3 自定義UIScrollView控件frame設置步驟
先設置UIScrollView 的frame
設置UIScrollView的content View 的frame ,並計算出 content View 的高度
設置UIScrollView 的contentSize
4