将子视图添加到xib文件

时间:2015-02-03 01:40:41

标签: ios objective-c xib

我试图在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];
}

3 个答案:

答案 0 :(得分:2)

1.如果您的控制器与您的xib具有相同的名称, 例如,XibViewController.m& XibViewController.xib。 默认情况下,您的控制器会将其视图设置为XibViewController.xib的实例。

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

即可
[self.view addSubview:self.label];

2.如果要将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];

答案 1 :(得分:0)

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

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

 [self.view addSubview:self.label];

希望这会有所帮助.. :)

答案 2 :(得分:0)

只需添加,

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

它将在视图上查看标签。