iOS基礎開發 自定義控制項

2021-07-11 18:55:12 字數 871 閱讀 2829

自定義控制項,設定子控制項的尺寸和位置

當系統提供的控制項滿足不了我們的需求,我們可以自定義乙個控制項,繼承系統自帶的控制項,寫乙個屬於自己的控制項.自定義控制項的好處是可以把封裝控制項內部的細節,不容易被外界隨意修改.如果乙個view內部的子控制項比較多,一般會考慮自定義乙個view,把它內部子控制項的建立遮蔽起來,不讓外界關心.外界可以傳入對應的模型資料給view,view拿到模型資料後給內部的子控制項設定對應的資料.有時候無法知道使用者是用哪一種方法建立物件,如果是使用 init方法的話,就呼叫init的重寫方法,如果使用者用initwithframe建立就無法呼叫init方法.所以建議重寫方法的時候都重寫initwithframe方法,因為無論用那種方法建立都會呼叫此方法

封裝控制項的基本步驟

在initwithframe:方法中新增子控制項,提供便利構造方法

在layoutsubviews方法中設定子控制項的frame(一定要呼叫super的layoutsubviews)

增加模型屬性,在模型屬性set方法中設定資料到子控制項上

自定義控制項的步驟大致分為四步:

1.新建乙個繼承uiview的類

2.在initwithframe:方法中新增子控制項

3.在layoutsubviews方法中設定子控制項的frame(一定要呼叫[super layoutsubviews])

4.提供乙個模型屬性,重寫模型屬性的set方法

事實上,我們可以在自動以控制項的時候,多新增一些方法,供外界獲取.譬如,重寫init方法,重寫initwith***的方法,這樣可以使**更加簡潔,提高閱讀性.例如:

- (instancetype)init

return self;

}- (instancetype)initwithshop:(xmgshop *)shop

IOS開發自定義CheckBox控制項

ios本身沒有系統的checkbox元件,但是實際開發中會經常用到,所以專門寫了乙個checkbox控制項,直接上 效果圖 uicheckboxbutton.h檔案如下 import import common.h inte ce uicheckboxbutton uicontrol uilabel...

開發自定義控制項

學習自定義控制項的開發不僅可以使你開發出更靈活的系統更重要的是它可以使你加深對已有伺服器控制項的理解,得以更靈活的應用。先說一下伺服器控制項的概念吧 所謂伺服器控制項,就是在伺服器上執行,並可以對映到所有瀏覽器支援的標準 html 標記的控制項,在你的web窗體中,凡是包含 runat server...

iOS開發 自定義列表

tableview幾乎是ios裡面最常用的布局了,這裡用純 的方式實現了自定義列表cell的介面 自定義cell cardlist created by yxhe on 16 5 17.end customcellview.m cardlist created by yxhe on 16 5 17....