2012-07-20 94 views
1

首先,我有一個存在Asset.m/Asset.h,它是subclass of UIView。然後我創建一個空的xib文件,並將xib文件的所有者類更改爲Asset。然後我爲這個xib創建一個視圖和一個標籤,我可以在UIView中拖動並創建IBOutlet在xib中添加子視圖到自定義UIView

IBOutlet UIView *videoOverlay; 
IBOutlet UILabel *videoTimeLable; 

然後我想videoOverlay添加到使用addSubview 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); 

爲什麼?

+0

嘗試[self.view addSubview:videoOverlay] – WaaleedKhan 2012-07-20 09:46:07

+2

看來**你**已經將尺寸設置爲零,對不對? 'CGRectMake(0,0,0,0);':D – holex 2012-07-20 09:47:17

+0

是的,但videoOverlay在xib文件中有大小。 – 2012-07-23 01:20:56

回答

0

最後,我自己找到解決方案。在代碼中使用添加在此視圖(videoOverlay和videoTimeLable屬於這一觀點):

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

然後videoOverlay和videoTimeLable可以顯示出來。

相關問題