2012-01-12 9 views
1

私は、フローを制御するためにUIStoryboardを使用するiOSアプリケーションを持っています。 UIStoryboardで定義されているすべてのビューを共通の背景を共有するようにしたいと思います。各ビューにUIImageViewコントロールを追加することなくこれを行う方法がありますか?UIStoryboardアプリケーションと一般的な背景イメージ

は、私は以下にこれを試してみましたが、それはスタックオーバーフローエラーで自分のアプリケーションのクラッシュが発生します。

-(void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    UIImage *image = [UIImage imageNamed:@"MyBackgroundImage.png"]; 
    UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; 
    [self.view addSubview:imageView]; 
    [self.view sendSubviewToBack:imageView]; 
} 

これを行うには良い方法はありますか?この種のテーマをiOSアプリケーションで処理する最良の方法は何ですか?あなたのviewDidLoadで

答えて

5

サブクラスUIViewControllerとオーバーライド-viewDidLoadを上書きして画像を作成し、ビューの背景として設定します。 UIViewControllerではなくカスタムビューコントローラのこのバックグラウンドイメージサブクラスを必要とするビューコントローラを作成します。

0

UIImageView *imgView = [[UIImageView alloc] initWithFrame:CGRectMake(10, 10, 100, 50)]; 
imgView.image = [UIImage imageNamed:@"image.png"]; 
[self.view addSubview: imgView]; 
[self.view sendSubviewToBack:imageView]; 

は、トリックを行う必要があります。

0

上記のコードは完全に動作していることが判明しました。私のソリューションは、Mark Adamsの提案と同じでした:Subclass UIViewController、override -viewDidLoad、imageViewの作成と設定、新しいサブクラスをviewControllerとして使用します。

誤って私の新しいサブクラスをInterface Builderで間違ったコントロールに設定してしまって、私の初期の解決策が正しく機能しなくなったと思います。

関連する問題