0

这个问题看起来很常见..但我昨天遇到了一个问题,我在 xib 中添加了一个标签并为其创建了出口,我想在该标签内有多行、按钮,所以我决定在其中添加新的子标签...

UILabel *label;
label = [[UILabel alloc] initWithFrame:initial_rect];
label.font = [UIFont systemFontOfSize:[UIFont smallSystemFontSize]];
label.text = sel_obj->start_time;
label.backgroundColor = [UIColor whiteColor];
[xib_label addSubview:label]

当我这样尝试时,它不起作用,然后我在 self.view 添加了相同的标签,它工作正常。所以当我想在使用 xib 添加的标签中添加标签时,我需要做什么。我在这里有什么遗漏吗……谢谢……

4

2 回答 2

1

我很久以前就遇到过这种情况。

仅供参考:

我认为问题在于initial_rect,它在视图的框架中但在 xib_label 的框架之外。label 的 frame 是相对于 xib_label,而不是 self.view。

你可以试试这个:

UILabel *label;
CGRect rect = (CGRect){0, 0, 10, 10};
label = [[UILabel alloc] initWithFrame:rect];
label.font = [UIFont systemFontOfSize:[UIFont smallSystemFontSize]];
label.text = sel_obj->start_time;
label.backgroundColor = [UIColor redColor];
[xib_label addSubview:label];

将 backgroundColor 更改为红色以清楚地看到标签。

如果你想在一个标签中显示多行,你可以 : label.numberOfLines = 0;

于 2013-01-09T07:22:27.673 回答
0

您也可以在上述评论之后尝试将子视图放在前面[xib_lable bringSubViewToFront:label];

于 2013-01-09T07:10:03.977 回答