我有一个简单的基于 View 的应用程序。我只在上面使用了 UILabel
。
以下是我在 viewDidLoad 中的代码:
lblBack.textColor = [UIColor blueColor];
UIImage *img = [UIImage imageNamed:@"cn3.png"];
lblBack.backgroundColor = [UIColor colorWithPatternImage:img];
lblBack.text = @"Hello World!!!...";
// UIImageView *imgView = [[UIImageView alloc] initWithImage:img];
//
// CGRect rect = CGRectMake(0, 0, lblBack.frame.size.width, lblBack.frame.size.height);
// [imgView setFrame:rect];
// NSLog(@"Rect : %@",NSStringFromCGRect(rect));
// [img drawInRect:rect];
// imgView.contentMode = UIViewContentModeScaleAspectFill;
// imgView.contentMode = UIViewContentModeScaleAspectFit;
// imgView.contentMode = UIViewContentModeScaleToFill;
// [lblBack addSubview:imgView];
评论显示了我尝试过的一些事情。我得到以下输出:
在这张图片中重复了 3 次。但我希望该图像应该被拉伸(stretch)以填充标签宽度。
我引用了之前的一些链接,这些链接显示我在后台添加图像并使用 clearColor
作为 UILabel
。还看到了在后台添加自定义 View 的示例。但是我不想使用所有这些,除非我没有其他解决方案......
我只想在 UILabel
上执行所有操作......除了 UIImage
或 UIImageView
我不想使用其他控件。 .
最佳答案
Dhiren 试试这段代码:
UIImage *img = [UIImage imageNamed:@"cab.png"];
CGSize imgSize = testLabel.frame.size;
UIGraphicsBeginImageContext( imgSize );
[img drawInRect:CGRectMake(0,0,imgSize.width,imgSize.height)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
testLabel.backgroundColor = [UIColor colorWithPatternImage:newImage];
我已经测试了这段代码。
关于iphone - 如何拉伸(stretch)图像以填充 UILabel 背景中设置的标签宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8634083/