2010-12-08 4 views

ответ

3

Просто композитный дополнительный вид, содержащий текст поверх изображения. Если вы используете UILabel с [UIColor clearColor] для цвета фона и установите непрозрачность на false, вы просто увидите текст поверх изображения, и ни одно изображение не будет закрыто.

Если вы хотите, чтобы получить изображение с картинки в представлении с прозрачным видом, содержащий текст поверх него, увидеть этот ответ:

How to obtain a CGImageRef from the content of an UIView?

Что-то вроде этого:

UIView* baseView = [[UIView alloc] initWithFrame:frameSize]; 

    UIImage* imageToCaption = [UIImage imageNamed:@"myImage.jpg"]; 
    UIImageView* imageToCaptionView = [[UIImageView alloc] initWithImage:imageToCaption]; 
    imageToCaptionView.frame = frameSize; 
    [baseView addSubview:imageToCaptionView]; 
    [imageToCaptionView release]; 


    // do stuff with fonts to calculate the size of the label, center it in your image etc. etc. 
    CGRect labelFrame = ... 

    UILabel* myLabel = [[UILabel alloc] initWithFrame:labelFrame]; 
    myLabel.backgroundColor = [UIColor clearColor]; 
    myLabel.opaque = NO; 

    // set the color, font, text etc. 

    [baseView addSubView:myLabel]; 
    [myLabel release]; 

Не скомпилированный или полный, но вы получите эту идею. Если вы хотите получить результат как изображение, которое вы бы использовали, сделайте [baseView.layer renderInContext:context];

+0

@admm: можете ли вы предоставить мне образец кода ... – user198725878 2010-12-08 05:37:39

Смежные вопросы