0

私のアプリケーションでは、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];
}

更新:私は自分の問題を決めました

4

3 に答える 3

2

UIView で ImageView を取得し、それに画像を設定することをお勧めします。画像をUIViewに設定するのではなく。

于 2013-03-20T10:36:36.720 に答える
0

次の行を置き換えて試してください:

[[UIImage imageNamed:@"appBG.png"] drawInRect:self.view.bounds];

次の行で:

[[UIImage imageNamed:@"appBG.png"] drawInRect:self.view.frame];

フレームまたはバインドの問題である可能性があります。

于 2013-06-06T10:59:29.627 に答える
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 の値を調整します。

于 2013-03-20T10:32:22.053 に答える