自定义UIView的标签没有显示

时间:2012-11-22 02:47:11

标签: ios xcode uiview uiviewcontroller

我有自定义UIView,它有一个xib文件以及.h和.m文件。我的自定义视图包含许多UILabel。

我已将此视图添加到UIViewController的xib文件中,方法是拖入UIView,转到Identity Inspector并将类名更改为MyCustomView。 MyCustomView在视图控制器上连接了IBOutlet属性。

加载视图控制器时,MyCustomView的

- (id)initWithCoder:(NSCoder*)coder 
调用

方法,但在视图控制器的视图中没有显示任何标签。我该如何解决这个问题?

我已经知道如何使用以下代码添加自定义UIView:

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

但我想知道如何通过xib文件添加。我已经搜索了一段时间但未能找到答案,所以如果这是重复的,请指出我正确的答案。


以下是自定义视图xib和视图控制器xib的图像:

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:1)

我担心你不能让UIViewController的xib加载你自己的视图的xib。 您需要以程序方式将这些标签添加到您自己的视图中,

将视图添加到viewcontroller的视图中,如代码中所示

答案 1 :(得分:0)

我需要查看更多代码才能确定,但​​我怀疑您遇到的问题是自定义视图(UILabels的父级)未提供UILabels维度。它没有调用 - [UIView setFrame:]

要验证,请在调试器中输入:

po [[UIApplication sharedApplication] keyWindow] recursiveDescription]

这将打印视图层次结构的描述。检查UILbals的帧是什么。