将子视图添加到 xib 文件

Add subview to a xib file

我正在尝试向 xib 文件中的 UIView 添加标签。当我 运行 应用程序时,标签不显示。

- (void)viewDidLoad {
    [super viewDidLoad];
    self.label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 50, 200)];
    [self.label setText:@"This is a label"];

    xibView *myxibView = [[xibView alloc] init];
    [myxibView.myView addSubview:self.label];
}
xibView *myxibView = [[xibView alloc] init];
[myxibView.myView addSubview:self.label];

您没有将 myxibView 添加到实际视图中。它只是一个实例。你为什么不这样做:

 [self.view addSubview:self.label];

希望这对您有所帮助..:)

1.If你的控制器和你的xib同名, 例如,XibViewController.m & XibViewController.xib。 默认情况下,您的控制器会将其视图设置为 XibViewController.xib 的实例。

在这种情况下,您只需将标签添加到 self.view

[self.view addSubview:self.label];

2.If 你想将 XibViewController.xib 加载到不同名称的控制器,如 View2Controller.m,你需要按名称加载 xib,并将 xib 视图添加到 View2Controller 的视图。

UIView *myxibView = [[[NSBundle mainBundle] loadNibNamed:@"XibViewController" owner:self options:nil] objectAtIndex:0];
[myxibView addSubview:self.label];
[self.view addSubview:myxibView];

只需添加 ,

self.label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 50, 200)];
[self.label setText:@"This is a label"];
[self.view addSubview:self.label];

它将subView标签放在视图上。