繁体   English   中英

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

[英]Add a subview in xib to a custom UIView

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

IBOutlet UIView *videoOverlay;
IBOutlet UILabel *videoTimeLable;

然后我想使用addSubviewvideoOverlay添加到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);

为什么呢

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

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

然后可以显示videoOverlay和videoTimeLable。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM