1

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

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);

为什么 ?

4

1 回答 1

0

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

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

然后 videoOverlay 和 videoTimeLable 可以出现。

于 2012-08-02T03:06:40.643 回答