作者yuanruo (罪を憎んで人を憎まず)
站内MacDev
标题Re: [问题] 如何在元件内使用 nib & class
时间Fri Apr 4 20:28:44 2014
: 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://webptt.com/cn.aspx?n=bbs/MacDev/M.1396614528.A.C4B.html
※ 编辑: yuanruo (220.132.188.73), 04/05/2014 11:52:48
1F:推 HuangJC:手上没电脑,不过如果这个会动,的确就是我要的而且不迂回 04/07 00:48
2F:推 HuangJC:谢谢 04/07 00:50
3F:推 HuangJC:试验成功了!! 感谢 04/07 12:04