uiview的初始化方法—initwithframe

簡單的說,咱們用編程方式申明,建立UIView對象時,使用initWithFrame方法。編程

在此,咱們必須搞清楚,兩種方式來進行初始化UIView。ui

1.使用 Interface Builder 方式。spa

這種方式,就是使用nib文件。一般咱們說的「拖控件」 的方式。orm

實際編程中,咱們若是用Interface Builder 方式建立了UIView對象。(也就是,用拖控件的方式)對象

那麼,initWithFrame方法方法是不會被調用的。由於nib文件已經知道如何初始化該View。(由於,咱們在拖該view的時候,就定義好了長、寬、背景等屬性)。it

這時候,會調用initWithCoder方法,咱們能夠用initWithCoder方法來從新定義咱們在nib中已經設置的各項屬性。scroll

2.使用編程方式。方法

就是咱們聲明一個UIView的子類,進行「手工」編寫代碼的方式。margin

實際編程中,咱們使用編程方式下,來建立一個UIView或者建立UIView的子類。這時候,將調用initWithFrame方法,來實例化UIView。top

特別注意,若是在子類中重載initWithFrame方法,必須先調用父類的initWithFrame方法。在對自定義的UIView子類進行初始化操做。

好比:

- (id)initWithFrame:(CGRect)frame{

    self = [super initWithFrame:frame];// 先調用父類的initWithFrame方法

    if (self) {

        

        // 再自定義該類(UIView子類)的初始化操做。

        _scrollView = [[UIScrollView allocinitWithFrame:self.bounds];

        [_scrollView setFrame:CGRectMake(00320480)];

        _scrollView.contentSize = CGSizeMake(320*3480);

        

        [self addSubview:_scrollView];

    }

    return self;

}

相關文章
相關標籤/搜索