用XIB自定義控件(在XIB中繼承使用)

  • 前言
    做開發(fā)也有蠻長的時間了陕贮,記得剛?cè)胄械臅r候不管寫什么都是純代碼棋弥,從來都不會用Xib拖一個控件,更別說什么storyboard了。后來發(fā)現(xiàn)身邊的同事都在用XIB寫界面蝉娜,每次我費了半天寫出來的界面他兩個小時就搞完了,而且適配也很完美晾蜘。慢慢的就開始試著使用XIB和storyboard了樊诺。
    用了XIB和storyboard一段時間后,發(fā)現(xiàn)人是越來越懶了鹅巍,哪怕一個非常簡單的界面控件啥的都不愿意多寫一句代碼了千扶,直接XIB。但是遇到一個很尷尬的問題骆捧,就是用XIB去自定義一個視圖時澎羞,在另外一個XIB上用的時候,單單繼承是完全沒有用的敛苇,最后還得用代碼去創(chuàng)建妆绞。為此很是苦惱。
    后來參考了好多網(wǎng)上的資料搞定了。為了后學者節(jié)約時間括饶,特發(fā)此文株茶。

Demo地址

  • 詳細步驟如下
    1.創(chuàng)建一個即成UIView的類

Paste_Image.png


2.創(chuàng)建一個同名的XIB文件


Paste_Image.png


3.在XIB中自定義你的視圖以及控件,將控件自定義成你想要的樣子


Paste_Image.png

4.設(shè)置XIB的File's Owner 的Class為你創(chuàng)建的那個類


Paste_Image.png


5.將xib中的View拖拽關(guān)聯(lián)成你創(chuàng)建的那個類的成員變量取名view


Paste_Image.png


6.在創(chuàng)建的類.m文件重寫如下方法


Paste_Image.png
/**
 XIB創(chuàng)建會掉用
 */
- (instancetype)initWithCoder:(NSCoder *)coder{
    self = [super initWithCoder:coder];
    if (self) {
        [self setUI];
    }
    return self;
}

/**
 代碼創(chuàng)建會掉用
 */
- (instancetype)initWithFrame:(CGRect)frame{
    self = [super initWithFrame:frame];
    if (self) {
        [self setUI];
    }
    return self;
}

/**
 初始化
 */
- (void)setUI{
    [[NSBundle mainBundle]loadNibNamed:NSStringFromClass([self class]) owner:self options:nil];
    [self addSubview:self.view];
}

/**
 自動適配大小
 */
- (void)drawRect:(CGRect)rect{
    self.view.frame = self.bounds;
}

7.使用
XIB直接拖拽一個View然后即成你自定義的類就好了


Paste_Image.png

代碼創(chuàng)建

CustomXibView *view = [[CustomXibView alloc] initWithFrame:CGRectMake(0, 0, 300, 100)];
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末图焰,一起剝皮案震驚了整個濱河市启盛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌技羔,老刑警劉巖僵闯,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異藤滥,居然都是意外死亡鳖粟,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門拙绊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來牺弹,“玉大人,你說我怎么就攤上這事时呀≌牌” “怎么了?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵谨娜,是天一觀的道長航攒。 經(jīng)常有香客問我,道長趴梢,這世上最難降的妖魔是什么漠畜? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮坞靶,結(jié)果婚禮上憔狞,老公的妹妹穿的比我還像新娘。我一直安慰自己彰阴,他們只是感情好瘾敢,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著尿这,像睡著了一般簇抵。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上射众,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天碟摆,我揣著相機與錄音,去河邊找鬼叨橱。 笑死典蜕,一個胖子當著我的面吹牛断盛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播愉舔,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼郑临,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了屑宠?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤仇让,失蹤者是張志新(化名)和其女友劉穎典奉,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體丧叽,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡卫玖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了踊淳。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片假瞬。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖迂尝,靈堂內(nèi)的尸體忽然破棺而出脱茉,到底是詐尸還是另有隱情,我是刑警寧澤垄开,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布琴许,位于F島的核電站,受9級特大地震影響溉躲,放射性物質(zhì)發(fā)生泄漏榜田。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一锻梳、第九天 我趴在偏房一處隱蔽的房頂上張望箭券。 院中可真熱鬧,春花似錦疑枯、人聲如沸辩块。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽庆捺。三九已至,卻和暖如春屁魏,著一層夾襖步出監(jiān)牢的瞬間滔以,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工氓拼, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留你画,地道東北人抵碟。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像坏匪,于是被迫代替她去往敵國和親拟逮。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,846評論 25 707
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫适滓、插件敦迄、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,066評論 4 62
  • 我常常想去控制他人的行為。 不如控制自己更容易
    easyyarona閱讀 187評論 0 0
  • 在我的筆筒上凭迹,也有這樣兩條歡欣游動的銀色的小魚罚屋,看到魚就喜歡,也喜歡那首歌:《魚》嗅绸。
    優(yōu)優(yōu)紅瓷閱讀 128評論 0 0
  • 我己經(jīng)整整半個多月沒寫東西脾猛。忙也一個。再加上次11月27日醫(yī)師定期考核也一個鱼鸠。另一個最主要是:寫作形式改變猛拴,群里要...
    碼字好玩兒閱讀 270評論 3 2