Cocoa:从不同的类和nib向视图添加子视图
如果我有两个具有多个视图的NIB,有没有办法在它们之间使用addSubview:方法?我想做的是从其中一个nib获取一个视图,并告诉它添加一个子视图,该子视图将是另一个nib文件中的视图Cocoa:从不同的类和nib向视图添加子视图,cocoa,nsview,nib,Cocoa,Nsview,Nib,如果我有两个具有多个视图的NIB,有没有办法在它们之间使用addSubview:方法?我想做的是从其中一个nib获取一个视图,并告诉它添加一个子视图,该子视图将是另一个nib文件中的视图 我将它们放在单独的nib中的原因是,第二个nib的子视图将使用相同的模板但不同的参数多次添加。是的,您可以将一个nib中的视图作为子视图添加到另一个nib中的视图 您需要创建一个NSViewController对象,它将拥有子nib。因此,只要初始化视图控制器,就会加载与其关联的nib。现在可以使用控制器的vi
我将它们放在单独的nib中的原因是,第二个nib的子视图将使用相同的模板但不同的参数多次添加。是的,您可以将一个nib中的视图作为子视图添加到另一个nib中的视图 您需要创建一个NSViewController对象,它将拥有子nib。因此,只要初始化视图控制器,就会加载与其关联的nib。现在可以使用控制器的view属性,并将其作为子视图添加到任何其他视图中 下面的代码将帮助您更好地理解: YourViewController.m
-(id)init
{
self = [super init];
if(nil != self)
{
[NSBundle loadNibNamed:@"myNibName" owner:self];
}
return self;
}
-(void)addYourViewControllerViewAsSubview
{
YourViewController *yvc = [[YourViewController alloc] init];
[yourOtherViewOutlet addSubview:yvc.view];
}
YourOtherClass.m
-(id)init
{
self = [super init];
if(nil != self)
{
[NSBundle loadNibNamed:@"myNibName" owner:self];
}
return self;
}
-(void)addYourViewControllerViewAsSubview
{
YourViewController *yvc = [[YourViewController alloc] init];
[yourOtherViewOutlet addSubview:yvc.view];
}