【问题标题】:Cocoa: Adding a subview to a view from a different class and nibCocoa:将子视图添加到来自不同类和 nib 的视图
【发布时间】:2011-12-23 07:19:44
【问题描述】:

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

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

【问题讨论】:

    标签: cocoa nsview nib


    【解决方案1】:

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

    您需要创建一个 NSViewController 对象,该对象将拥有子 nib。这样一来,一旦您初始化视图控制器,与之关联的 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];
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-16
      • 1970-01-01
      • 2014-07-11
      • 1970-01-01
      • 2012-02-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多