首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >iPhone -在UITableViewController上设置背景

iPhone -在UITableViewController上设置背景
EN

Stack Overflow用户
提问于 2009-05-22 15:04:26
回答 4查看 52.4K关注 0票数 50

有没有办法在UITableViewController上设置背景视图?

我尝试使用我在UIViewController上使用的代码,但是视图覆盖了表视图的所有内容。如果我在cellForRowAtIndexPath-method中添加背景视图,它根本不会显示。以前有没有人这样做过,或者知道如何做到这一点?下面是我使用的代码:

代码语言:javascript
复制
UIImage *image = [UIImage imageNamed: @"background.jpg"];
UIImageView *backImage = [[UIImageView alloc] initWithImage: image];
[self.view addSubview: backImage];
[self.view sendSubviewToBack: backImage];
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-03-17 10:38:23

(这基本上与上面的Hans Espen的解决方案相同,但为了简洁,使用了方便的方法)

将此代码放入-[UITableViewControllerSubclass viewDidLoad]方法中:

代码语言:javascript
复制
self.tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"BackgroundPattern.png"]];

在viewDidLoad方法中避免几个自动释放是没有意义的,因为它只被很少调用(当视图实际加载时),因此对性能的影响可以忽略不计。

注意:您应该始终在iPhone上使用PNG图像,而不是JPEG或任何其他格式。

票数 68
EN

Stack Overflow用户

发布于 2012-03-01 00:46:33

我知道已经很久了,但为了记录在案..我想我找到了一个使用UITableView.backgroundView的更好的解决方案

代码语言:javascript
复制
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"lisbon.png"]];

self.tableView.backgroundView = imageView;
[imageView release];

我在iPhone上尝试了320x480的图像大小,效果很好(我也尝试过.jpg )。

票数 72
EN

Stack Overflow用户

发布于 2009-05-22 15:10:52

实际上,我让它工作了!:)

代码语言:javascript
复制
NSString *backgroundPath = [[NSBundle mainBundle] pathForResource:@"background" ofType:@"jpg"];
UIImage *backgroundImage = [UIImage imageWithContentsOfFile:backgroundPath];
UIColor *backgroundColor = [[UIColor alloc] initWithPatternImage:backgroundImage];
self.tableView.backgroundColor = backgroundColor; 
[backgroundColor release];
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/898351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档