Cocoa:将子视图添加到来自不同类和nib的视图中

时间:2011-12-23 07:19:44

标签: cocoa nsview nib

如果我有两个带有多个视图的笔尖,有没有办法让我在它们之间使用addSubview:方法?我想做的是从一个笔尖中取一个视图并告诉它添加一个子视图,该子视图将是另一个nib文件中的视图。

我将它们放在单独的nib中的原因是因为第二个笔尖的子视图将使用相同的模板但不同的参数添加几次。

1 个答案:

答案 0 :(得分:1)

是的,您可以将一个笔尖中的视图作为子视图添加到另一个笔尖中的视图中。

您需要创建一个拥有子笔尖的NSViewController对象。因此,只要初始化视图控制器,就会加载与其关联的nib。现在,您可以使用控制器的view属性,并将其作为子视图添加到任何其他视图。

以下代码可以帮助您更好地理解:

<强> YourViewController.m

-(id)init 
{    
    self = [super init];

     if(nil != self)
     {
         [NSBundle loadNibNamed:@"myNibName" owner:self];
     }

     return self; 
}

<强> YourOtherClass.m

-(void)addYourViewControllerViewAsSubview
{ 

    YourViewController *yvc = [[YourViewController alloc] init];

    [yourOtherViewOutlet addSubview:yvc.view];

}