有一個UIView子類,想要在ViewController類創建的xib中顯示。UIView類名為tag
// Tag.h
UIView *view;
// Tag.m
if (self) {
[[NSBundle mainBundle] loadNibNamed:@"ViewController" owner:self options:nil];
[self addSubview:self.view];
}
return self;
好像沒連上啊?我做的對不對?
重新幫你描述一下:
你是想將在xib上設置好的視圖作為子視圖添加到自定義類Tag上,是吧
首先要確定的是你這個名為viewcontroller.xib文件的所有者(file owner)是一個控制器(viewcontroller),還是NSObject.
如果是一個控制器的話,你需要這樣來得到控制器的視圖
// Tag.m
if (self) {
UIViewController *controller=[[UIViewController alloc] initWithNibNamed:@"viewcontroller"];
[self addSubview:controller.view];
}
return self;
如果只是在xib上放了一個UIView 並沒有設置它的所有者.你可以這樣訪問到這個視圖
// Tag.m
if (self) {
UIView *_view=(UIView *)[[[NSBundle mainBundle] loadNibNamed:@"ViewController" owner:self options:nil] objectAtIndex:0];
[self addSubview:_view];
}
return self;