在XCode中将文本标签更改为图像

时间:2012-07-23 17:40:45

标签: objective-c uilabel

我正在开发的iOS应用程序的XCode项目中有以下代码:

    testLabel = [[UILabel alloc] initWithFrame:CGRectMake(0,0, 320, 480)];
    UIFont *Font = [UIFont fontWithName:@"Arial" size:40];
    [testLabel setFont:Font];
    [testLabel setTextAlignment:UITextAlignmentCenter];
    [testLabel setTextColor:[UIColor colorWithRed:(float) 55/255 green:(float) 41/255 blue:(float) 133/255 alpha:1.0]];
    testLabel.text = @"Here We Go";

我希望将图像放在该位置而不是文本中。用“

”替换此代码需要什么?

2 个答案:

答案 0 :(得分:1)

要么制作图像并将其放在UIImageView中,要么制作UIView子类,在其中将在drawRect方法中绘制文本。 在第二种情况下,在drawRect中执行此操作:

[self.yourStringProperty drawAtPoint:CGPointMake(100,150) withFont:[UIFont systemFontOfSize:14.0]]; 
or
[self.yourStringProperty drawInRect:rect withFont:[UIFont systemFontOfSize:14.0]]; 

另外,请查看HERE以获取有关这些功能的详细说明,这些功能还可以考虑可用的宽度,最小尺寸,换行符等。

答案 1 :(得分:1)

我的上面的答案是最好的第二部分:使用UIView并根据你想要的内容放置你的标签或UIImageView。以下是图片的外观:

UIView *container = [[UIView alloc] initWithFrame:CGRectMake(<<your image frame here>>)];
UIImageView *image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yourImage.png"]];
image.frame = CGRectMake(<<your image frame here>>);
[container addSubview:image];
[self.view addSubview:container];