0

UIView コントローラーと UITableView コントローラーの 2 つのタブを含むタブ バー コントローラーがあります。

それらに同じ背景画像を入れようとしていますが、問題はUITableViewで画像のサイズが変更されることです。

ここで違いがわかります。

背景画像を追加するために、UIView で次のコードを使用しました。

UIGraphicsBeginImageContext(self.view.frame.size);
[[UIImage imageNamed:@"background.jpg"] drawInRect:self.view.bounds];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
self.view.backgroundColor = [UIColor colorWithPatternImage:image];

これはUITableViewの場合:

UIImageView *tempImageView = [[UIImageView alloc] initWithImage:
[UIImage imageNamed:@"background.jpg"]];
[tempImageView setFrame:self.tableView.frame];
self.tableView.backgroundView = tempImageView;

使用したビュー フレームのサイズを確認するには

NSLog(@"%@", NSStringFromCGSize(self.view.frame.size));

これをテーブルビューに使用しました

NSLog(@"%@", NSStringFromCGRect(self.tableView.frame));

結果は同じ ({320, 460})

XCode IB に UIView 背景画像を追加しようとしましたが、うまくいきませんでした。

画像はサイズが 640 X 1136 の jpg です。png ファイルも試してみましたが、うまくいきませんでした。

どんな提案でも大歓迎です。

4

2 に答える 2

1

私が Pranav の答えを使用して行ったことは、私が使用した UITableView では次のとおりです。

UIView* backgroundView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.tableView.bounds.size.width, self.tableView.bounds.size.height)];
[backgroundView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"background.jpg"]]]; 
[self.tableView setBackgroundView:backgroundView];

そして、私がちょうど使用した UIView で:

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background.jpg"]];
于 2013-04-04T03:08:02.890 に答える
0

colorWithPatternImage:どちらの場合にもお使いいただけます。

self.tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:YOUR IMAGE"]];

于 2013-04-03T13:16:13.613 に答える