我有两个 NIB

ParentViewController.xib
ChildViewController.xib

ParentViewController.xib 包含一个 UIView 和一个 UIViewController。
ChildViewController.xib 包含一个 UIButton

我想让 ChildViewController.xib 加载到 ParentViewController.xib 的 UIView

我做了以下工作:
  • 为 ParentViewController 中的 UIView 创建 @property
  • 将文件的所有者连接到 ParentViewController 中的 UIView
  • 将 ParentViewController 的 NIB Name 属性中的 UIViewController 设置为 Interface Builder 中的 ChildViewController
  • 将 ChildViewController View 属性设置为 ParentViewController 中的 UIView

  • 我希望这会将 ChildViewController 加载到 ParentViewController 中的 UIView 中,但没有运气。

    我确实收到了以下警告,这可能是罪魁祸首:
    'View Controller (Child View)' has both its 'NIB Name' property set and its 'view' outlet connected. This configuration is not supported.
    

    我还在 ParentViewController 的 viewDidLoad() 中添加了额外的代码:
    - (void)viewDidLoad {
        [super viewDidLoad];
        ChildViewController *childViewController = [[ChildViewController alloc]initWithNibName:@"ChildViewController" bundle:nil];
        childViewController.view = self.myView;
    }
    

    关于为什么 ChildViewController 没有在 ParentViewController 的 UIView 中加载的任何想法?

    最佳答案

    试试这个

    [self.myview addSubview: childViewController.view];
    

    代替
    childViewController.view = self.myView;
    

    关于iphone - 如何在另一个 NIB 的 View 中加载 NIB?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2589582/

    10-13 04:00