问题描述
- 链接UIView子类和ViewController
-
有一个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;
时间: 2024-08-19 23:39:26