我正在我的应用程序中实现一个标签系统,为此我需要标签的背景图像和覆盖该图像的文本。问题是 - 我如何拉伸(stretch)图像以“适合”文本? “数学”可以正常工作,但像“经济学”这样的词就不行,因为它会与背景图像重叠。
这是我的标签的样子:
最佳答案
您首先需要计算文本的预期大小,然后相应地为图像提供框架。如果需要,您可以使用具有大写宽度和大写高度的图像。这是代码片段。
CGSize maximumLabelSize = CGSizeMake(600,52); // maximum possible size
CGSize expectedLabelSize = [brandName sizeWithFont:[UIFont fontWithName: @"Helvetica-Bold" size:20]
constrainedToSize:maximumLabelSize
lineBreakMode:UILineBreakModeTailTruncation];
UIImage *centerStretchedImage =[[UIImage imageNamed:@"yourImage.png"] stretchableImageWithLeftCapWidth:10.0 topCapHeight:0];
CGRect frame = CGRectMake(x, y, expectedLabelSize.width+20,52);
UIImageView *dynamicImage = [[UIImageView alloc] initWithFrame:frame];
dynamciImage.image = centerStretchedImage;
关于iphone - 如何拉伸(stretch) UIImage 以适合文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13797025/