1

我正在开发 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 文件的内容。

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

4

2 回答 2

3

采用

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

代替

view1 = [nibContents objectAtIndex:0];
于 2013-05-10T11:18:14.070 回答
0

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

于 2013-05-10T11:19:33.840 回答