15

View Controllerの背景としてPNG画像を追加するために、アプリデリゲートの下でこのコードを使用しようとしました:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [[self window] setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"background.png"]]];

    return YES;
}

しかし、私はそれでうまくいきません...ビューコントローラーにはまだ白い背景があります。そのコードの何が問題になっていますか?

4

9 に答える 9

37

受け入れられた回答とマイケルの回答は機能しますが、適切な方法は代わりに UIImageView を使用することです。デバイスのさまざまな画面サイズに応じて、サイズ変更、スケーリングなどをより詳細に制御できます。これが例です。

最初に UIImage を作成します。

UIImage *backgroundImage = [UIImage imageNamed:@"iphone_skyline3.jpg"];

次に、UIImageView を作成します。フレーム サイズを親 (自己) のフレーム サイズに設定します。フレームサイズはデバイスによって異なるため、これは重要です。画像サイズによっては伸縮が発生します。次に、画像をビューに割り当てます。

UIImageView *backgroundImageView=[[UIImageView alloc]initWithFrame:self.view.frame];
backgroundImageView.image=backgroundImage;

最後に、すべてのコントロールの背後に画像を保持するには、次の手順を実行します。アプリの背景として画像を設定する場合は重要です。

[self.view insertSubview:backgroundImageView atIndex:0];
于 2014-03-04T12:31:32.973 に答える
24

ViewController のビューの背景を設定する必要があります

あなたのViewControllerinitまたはviewDidLoad

[self.view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"background.png"]]];
于 2013-09-10T13:24:59.780 に答える
7

迅速な方法は次のとおりです。

override func viewDidLoad() {
    super.viewDidLoad()
    self.view.backgroundColor = UIColor(patternImage: UIImage(named: "background.png"))
}
于 2014-12-25T21:10:53.810 に答える
1

ビュー コントローラーに tableView/collection ビューがある場合は、以下のコードが適しています。

 - (void)viewDidLoad
{
   [super viewDidLoad];

   self.tableView.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yourImage.png"]];
}
于 2014-07-30T17:24:51.143 に答える
1

viewDidLoad では、次を使用します。

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"yourImageString.png"]];

または、appDelegateでやりたい場合は、可能だと思います

[self.window setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"yourImageString.png"]]];

次に、viewDidLoad で背景を [UIColor clearColor] に設定しますか?

于 2013-09-10T13:24:20.370 に答える