Re: [問題] 如何在元件內使用 nib & class
: 1.我要可以在 IB 裡直接打入 class name
: 2.然後要可以和 nib 檔配合
:
: 為了元件的重覆使用,比如我有兩個 controller ,都用 xib 檔繪製 UI
: ControllerA.xib, ControllerB.xib
: 而元件是 MyObj.xib, MyObj.m, Myobj.h (繼承自 UIView)
:
: MyObj.xib 內可以直接打 MyObj 這個 class name
: 整個元件的 UI 繪製及動作細節,可以全封在 MyObj.* 這三個檔內
: 為了重覆使用,所以 MyObj 的內部元件,是不會拉任何 reference
: 到 ControllerA & ControllerB 去的
:
: 好,現在我要怎麼把 MyObj 這個元件,擺入 ControllerA.xib 內呢?
: 我和同事是只會迂迴的方法啦,而且又被說是錯誤的
:
: ※ 編輯: HuangJC (175.180.82.140), 04/04/2014 19:22:37
: → Blueshiva:所以你到底去看 initWithCode 是為了什麼被呼叫了沒? 04/04 20:09
在 Myobj.m 中 實現 NSObject方法
- (id) awakeAfterUsingCoder:(NSCoder *)aDecoder
{
BOOL isTheViewGotLoaded = ([[self subViews] count] == 0);
if (isTheViewGotLoaded) {
MyObj *myObj = [[[NSBundle mainBundle] loadNibName:@"Myobj" owner:nil
option:nil]lastObject];
myObj.frame = self.frame;
return myObj;
}
return self;
}
ControllerA. xib 拉一個UIView 然後 custom class 打上MyObj
其他就xib直接貼上用吧 試看看吧
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.188.73
※ 文章網址: http://www.ptt.cc/bbs/MacDev/M.1396614528.A.C4B.html
※ 編輯: yuanruo (220.132.188.73), 04/05/2014 11:52:48
推
04/07 00:48, , 1F
04/07 00:48, 1F
推
04/07 00:50, , 2F
04/07 00:50, 2F
推
04/07 12:04, , 3F
04/07 12:04, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章