【问题标题】:iOS show more views from xib inside viewiOS显示更多来自xib内部视图的视图
【发布时间】:2013-05-05 01:31:53
【问题描述】:

我正在开发 iOS 应用程序,但我需要帮助才能在一个视图中显示来自 xib 文件的更多自定义视图。

我需要的是这样的:

您可以看到一个根视图、一些标签和 3 个自定义子视图。每个子视图都有自己的 xid 文件,但我不知道如何将它们彼此相邻显示。

我在界面生成器中放置了三个视图,我认为我只是创建了三个 UIView 插座,并使用 loadNibName 方法对其进行了初始化,但它不起作用。这是控制器的代码:

@interface ViewController_iPad () {

   __strong IBOutlet UIView *view1;
   __strong IBOutlet UIView *view2;
   __strong IBOutlet UIView *view3;
}

@end



- (void)viewDidLoad
{
   [super viewDidLoad];

   NSArray *nibContents = [[NSBundle mainBundle] loadNibNamed:@"MyView" owner:self options:nil];
   view1 = [nibContents objectAtIndex:0];

   nibContents = [[NSBundle mainBundle] loadNibNamed:@"MyView2" owner:self options:nil];
   view2 = [nibContents objectAtIndex:0];

   nibContents = [[NSBundle mainBundle] loadNibNamed:@"MyView3" owner:self options:nil];
   view3 = [nibContents objectAtIndex:0];

 }

使用此代码,子视图为空,并且不显示来自 xib 文件的内容。

你能告诉我我做错了什么吗?或者如果这是一个好方法如何做到这一点?我应该使用一些容器而不是子视图吗?比你

【问题讨论】:

    标签: ios view xib subview


    【解决方案1】:

    据我所知,有两种可能性 1. 在哪里将子视图添加到主视图 2. 在 -> 目标 -> 构建阶段 -> 包含您的 xib 文件

    【讨论】:

      【解决方案2】:

      使用

       NSArray *nibContents = [[NSBundle mainBundle] loadNibNamed:@"MyView" owner:self options:nil];
      [view1 addSubview:[nibContents objectAtIndex:0]];
      

      代替

      view1 = [nibContents objectAtIndex:0];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-05-03
        • 1970-01-01
        • 2015-03-14
        • 2018-06-06
        • 2020-05-07
        • 1970-01-01
        • 2019-07-05
        • 1970-01-01
        相关资源
        最近更新 更多