2012-03-29 66 views
0

我想基于我在设置导航控制器的第一层时初始化的属性来设置我的视图控制器的背景图像。换句话说,在我告诉我的导航控制器推新视图控制器之前。基于属性加载视图的背景图像

,而不是手动在一堆的if语句,我试图找到一种方法来自动完成这个打字 - 我已经试过,但它似乎不工作:

NSString *backgroundImageName = [[NSString alloc]initWithFormat:@"artistbackground%i.png",_artistID]; 

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:[NSString stringWithFormat:@"@\"%@\"",backgroundImageName]]]; 

的字符串将对应于我的支持文件中的图像标题。

这没有工作没有人有任何其他方法来处理这个?

谢谢!

+1

如何图像命名?那个疯狂的引用的东西根本没有意义。谁会像'“artistbackground1.png”'命名图像?包括'''你的问题在其他地方 – 2012-03-29 18:50:12

+1

也许你需要一些关于字符串文字的教育'@“foobar”'创建一个带有'foobar'的内容的NSString,'@'和'''都不是字符串。它们就在那里,所以编译器知道必须从你写的字符串文字中创建一个'NSString'对象。 – 2012-03-29 18:54:46

+0

非常感谢 – 2012-03-30 04:32:25

回答

3

试试这个:

NSString *backgroundImageName = [[NSString alloc]initWithFormat:@"artistbackground%i.png",_artistID]; 

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:backgroundImageName]]; 
+0

不幸的是,这个图像名称必须引用 – 2012-03-29 18:29:28

+2

@SeanDanzeiser:我第一次听到这个。试试看,你不会失望:) – 2012-03-29 18:39:25

+1

哎呦。真棒的人。谢谢您的帮助 – 2012-03-29 20:43:44