以编程方式在后台设置UIImageView

时间:2011-05-03 09:03:59

标签: iphone uiimageview

我有一个没有.xib文件的类,我想用一个带有.png文件的UIImageView设置背景资源,我试试这个:

UIColor *background = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"background.png"]];
[[self view] setBackgroundColor:background];
[background release];

这项工作,但图像放大并失去了很多质量,而在另一个类与xib文件我通过Interface Builder在后台设置UIImageView,图像是perfetct,我想知道如何设置UIImageView在背景中,就像我在界面构建器中一样。

4 个答案:

答案 0 :(得分:8)

很抱歉,如果我忘了写我的班级是UITableViewController,这就是解决方案:

UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
[imageView setImage:[UIImage imageNamed:@"background.png"]];
self.tableView.backgroundView = imageView;
[imageView release];

感谢所有人!

答案 1 :(得分:5)

尝试添加UIImageView子视图而不是UIColor。

UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
[imageView setImage:[UIImage imageNamed.@"background.png"]];
[self.view addSubview:imageView]; // edited for syntax
[imageView release];

答案 2 :(得分:3)

UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background"]];
[self.view addSubview:imgView];
[imgView release];

如果您的图像尺寸大于320x480像素,那么请使用septi的答案。

答案 3 :(得分:2)

对已经提供的答案稍作补充

UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background"]];
[self.view addSubview:imgView];
[self.view sendSubviewToBack:imgView];
[imgView release];