如何拉伸图像以填充UILabel中背景中设置的标签宽度?
我有简单的基于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次。 但我希望拉伸图像以填充标签宽度。
我已经介绍了一些以前的链接,这些链接显示我在后台添加Image并使用clearColor
用于UILabel
。 还可以看到在后台添加自定义视图的示例。 但除非我没有其他解决方案,否则我不想使用这一切……
我只想在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];
我已经测试了这段代码。
移植Maulik对Swift 2.2的回答,您将得到以下代码:
var img: UIImage = UIImage(named: "cabImage")! var imgSize: CGSize = testLabel.frame.size UIGraphicsBeginImageContext(imgSize) img.drawInRect(CGRectMake(0, 0, imgSize.width, imgSize.height)) var newImage: UIImage = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext(); testLabel.backgroundColor = UIColor(patternImage: newImage)
亲自测试工作!
- 更快的iPhone PNGanimation
- 适用于iphone / iOS的 runningApplications]的等价物?
- ASIHTTPRequest / ASIFormDataRequest – 在ARC下的块内引用请求对象
- Objective-C – 检查URL是否存在
- 核心数据:NSCocoaErrorDomain = 134040只发生在真正的手机,而不是模拟器
- iPhone – 自动调整UIWebView内容不符合框架
- 我怎样才能使一个单元格移动,但不能在UITableView中删除?
- 是否有可能使用card.io获得信用卡types?
- 使用UILabel创建自定义UITextView以及其中的文本