UIView图像背景

时间:2013-03-20 10:16:16

标签: ios uiview background-image

在我的应用程序中,我想在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];
}

更新:我决定了我的问题

3 个答案:

答案 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];

可能是框架或绑定的问题。