在我的应用程序中,我想在UIView上设置背景图像。在模拟器iOS中,此代码有效。而在iPhone黑色背景上。这是代码:
- (void)viewDidLoad
{
[super viewDidLoad];
UIGraphicsBeginImageContext(self.view.frame.size);
[[UIImage imageNamed:@"appBG.png"] drawInRect:self.view.bounds];
UIImage *appbg = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
self.view.backgroundColor = [UIColor colorWithPatternImage:appbg];
}
更新:我决定了我的问题
答案 0 :(得分:2)
更好的是你将在UIView上使用ImageView并将图像设置为它。而不是将图像设置为UIView。
答案 1 :(得分:0)
试试这段代码:
UIImage* backgroundImage = [UIImage imageNamed:@"appBG.png"];
CALayer* aLayer = [CALayer layer];
CGFloat nativeWidth = CGImageGetWidth(backgroundImage.CGImage);
CGFloat nativeHeight = CGImageGetHeight(backgroundImage.CGImage);
CGRect startFrame = CGRectMake(0.0, 0.0, nativeWidth, nativeHeight);
aLayer.contents = (id)backgroundImage.CGImage;
aLayer.frame = startFrame;
[self.view.layer addSublayer:aLayer];
[aLayer setNeedsDisplay];
根据您的要求调整startFrame值。
答案 2 :(得分:0)
尝试使用替换以下行:
[[UIImage imageNamed:@"appBG.png"] drawInRect:self.view.bounds];
以下一行:
[[UIImage imageNamed:@"appBG.png"] drawInRect:self.view.frame];
可能是框架或绑定的问题。