请提供任何链接或示例代码以进行试用。
感谢您的帮助
答案 0 :(得分:3)
只需合成一个包含图像顶部文字的额外视图。如果您使用带有[UIColor clearColor]
的UILabel作为背景颜色并将opaque设置为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];
没有编译或完成,但你明白了。如果您想将结果作为图像获得,请使用do [baseView.layer renderInContext:context];