2012-04-08 32 views
8

UITableViewControllerの画像を設定するにはどうすればよいですか?UITableViewController背景画像

は、私は多くのものを使用しているが、それは

UIImageView* bgView = [[[UIImageView alloc] initWithImage: 
[UIImage imageNamed:@"Default.png"]] autorelease]; 

[tableView.backgroundView addSubview:bgView]; 

そしてこの

[[self view] setAutoresizesSubviews:NO]; 

UIView *backgroundView = [[UIView alloc] initWithFrame:self.view.frame]; 
backgroundView.backgroundColor = 
    [UIColor colorWithPatternImage: 
    [UIImage imageNamed:@"Default.png"]]; 

self.tableView.backgroundView = backgroundView; 
self.tableView.backgroundColor = [UIColor clearColor]; 

[backgroundView release]; 

そして、それの

self.navigationController.view.backgroundColor = 
    [UIColor colorWithPatternImage: 
    [UIImage imageNamed:@"myImage.png"]]; 
self.tableView.backgroundColor = [UIColor clearColor]; 

なしで働いていた背景として画像を設定するために私を助けていません私のために。

答えて

24

background塗りつぶしモード

[youTable setBackgroundView: 
    [[UIImageView alloc] initWithImage: 
    [UIImage imageNamed:@"bg.png"]]]; 

あなたはUIImageViewインスタンス(UITableViewの財産backgroundView)にtableviews背景ビューを設定することができbackgroundモードタイル

[youTable setBackgroundColor: 
    [UIColor colorWithPatternImage: 
    [UIImage imageNamed:@"bg.png"]]]; 
+0

を、私は私のプロジェクトでそれをテストしてきたし、それは残念ながら – Youstanzr

+0

動作しません。私の疑いは、細胞に背景色をつけて、背景を覆うことです。 – WhiteTiger

+0

私のセルはデフォルトです私は色を変更していません私は色をクリアするためにそれを変更する必要がありますか、デフォルトはクリアですか? – Youstanzr

4
UIImage *image = [UIImage imageNamed:@"image.png"]; 
UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; 

UITableView *tableView = (UITableView*)tableViewController.view; 
tableView.backgroundView = imageView; 
[imageView release]; 
0

を設定します設定します。

1

前述のすべての提案が動作しない場合は、ちょうどそれをこのように(私はいつも使用アプローチ)を行います。

  1. はのUIViewControllerのサブクラスを作成します。
  2. viewDidLoadでは、UIImageViewとUITableViewの両方をサブビューとして追加します。
  3. tableViewを構成し、デリゲートメソッドを実装します。 imageViewに背景画像を設定します。

tableViewのbackgroundViewを設定すると、グラフィックエラー(各セルのイメージが繰り返される)が発生する可能性があるので、ここで説明したアプローチを使用しています。

0

以下のコードは私のためにうまくいきます。 あなたは、次のコード試すことができます: -

UIImageView *bgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Default.png"]]; 
bgView.frame = self.view.frame; 
self.tableView.backgroundColor = [UIColor clearColor]; 
self.tableView.backgroundView = bgView; 
[bgView release]; 
0

をそれはUITableViewControllerだので、私は「WhiteTiger」で示唆したように、私の問題は、この

[self.tableView setBackgroundView: 
    [[UIImageView alloc] initWithImage: 
    [UIImage imageNamed:@"bg.png"]]]; 

によって解決、またUITableViewbackgroundColorを設定することができませんでした。

+0

あなたはiPad用に開発していますか? iPad setBackgroundColorは機能しません。必ず使用する必要があります。setBackgroundView – WhiteTiger

+0

私はここでsetBackgroundColorを使用していません。私はiPhoneのために働いています。 – SAHIL

0

これが私の仕事:

self.tableView.backgroundView = nil; 
self.tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"bg2.png"]]; 

または

[self.tableView setBackgroundView:nil]; 
[self.tableView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"bg2.png"]]]; 
3

をこれが私の仕事:

tableView.backgroundView = 
    [[UIImageView alloc]initWithImage: 
    [[UIImage imageNamed:@"background.png"] stretchableImageWithLeftCapWidth:0.0 
              topCapHeight:5.0]]; 
+1

良いですが、ユーザーの理解を深めてください。 – Shivaay