2011-01-21 69 views
1

快速的問題,我在一本UIView方法drawRectUILabel和circle.The圓圈繪製正確,但UILabel不是。的UILabel中的drawRect不畫

任何想法?

感謝您的幫助。

- (void)drawRect:(CGRect)theRect{ 

    CGRect rect = self.bounds; 


    //text label 
    UILabel * pText = [[UILabel alloc] initWithFrame: rect]; 
    pText.text = @"demo"; 

    // Circle 
    UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:rect]; 
    rect = CGRectInset(rect, 5, 5); 
    [path appendPath:[UIBezierPath bezierPathWithOvalInRect:rect]]; 
    path.usesEvenOddFillRule = YES; 
    [self.color set]; 
    [path fill]; 


} 

回答

1

您需要將您的UILabel添加到您的視圖。

//text label 
UILabel * pText = [[UILabel alloc] initWithFrame: rect]; 
pText.text = @"demo"; 
[self addSubview:pText]; 
[pText release]; 
+5

這個,但是不要在`drawRect`中這樣做,而是在一次完成它的地方。 `drawRect`可能會被調用多次。 – mvds 2011-01-21 03:04:22

0

你需要調用:

[super drawRect:rect]; 

爲了畫圓之前提醒你的UILabel。