在xib中添加子视图到自定义UIView

时间:2012-07-20 04:59:34

标签: ios uiview

首先,我存在Asset.m/Asset.h,它是subclass of UIView。然后我创建一个空的xib文件,并将xib的文件所有者类更改为Asset。然后我为此xib创建了一个视图和一个标签,我可以在IBOutlet中拖动并创建UIView

IBOutlet UIView *videoOverlay;
IBOutlet UILabel *videoTimeLable;

然后我想使用 addSubview videoOverlay 添加到Asset.m的视图中。

self = [super initWithFrame:CGRectMake(0, 0, 0, 0)];
        [self addSubview:videoOverlay];

但是视图 - videoOverlay没有出现。

我打印出videoOverlay的大小,全部为0:

    NSLog(@"width =%f height= %f", videoOverlay.frame.size.width, videoOverlay.frame.size.height);

为什么?

1 个答案:

答案 0 :(得分:0)

最后,我自己找到了解决方案。在代码下使用以添加此视图(videoOverlay和videoTimeLable属于此视图):

UIView *thumbs;
    NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"ELCAsset" owner:self options:nil];
    thumbs = [nib objectAtIndex:0];
    [self addSubview:thumbs];

然后可以显示videoOverlay和videoTimeLable。