0

我有一个包含两个选项卡的选项卡栏控制器: UIView 和 UITableView 控制器。

我试图在其中使用相同的背景图像,但问题是图像在 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 背景图像,但没有运气。

图像是 jpg,大小为 640 X 1136。我还尝试了 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 回答