设置图像背景而不重复

时间:2014-05-13 19:27:52

标签: ios objective-c cocoa-touch

我已将背景设为

的图像
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:[self.Images objectAtIndex:arc4random_uniform(4) ]]];

这立即起作用,实际上两个图像之间的背景发生了变化......直到我改变了保存图像的数组中的某些内容。然后突然在整个背景中的瓷砖中重复图像。

什么可能导致这样的事情?

3 个答案:

答案 0 :(得分:0)

colorWithPatternImage:这里的关键是,您使用图像创建图案,而不是背景。正如洛根所解释的那样,你需要重新考虑如何设置你的背景。如果您想从随机图像设置背景,可能会发布一个关于如何执行此操作的新问题

答案 1 :(得分:0)

这可以解决您的问题,您可以将其放入viewDidLoad

UIImageView * bgImageView = [[UIImageView alloc]init];
bgImageView.frame = self.view.bounds;
bgImageView.contentMode = UIViewContentModeScaleAspectFit;
bgImageView.image = [UIImage imageNamed:[self.Images objectAtIndex:arc4random_uniform(4)]];
self.view = bgImageView;

您可以稍后更改/访问它:

UIImageView *bgImageView = (UIImageView *)self.view;
bgImageView.image = [UIImage imageNamed:[self.Images objectAtIndex:arc4random_uniform(4)]];

答案 2 :(得分:0)

我最终得到了以下解决方案:

1)在界面构建器中创建了一个UIImageView并将其拖出来填满整个屏幕

2)使用以下命令设置imageView的内容:

imageView.image = [UIImage imageNamed:@"Themes.png"];

或使用数组:

imageView.image = [UIImage imageNamed:self.myArray[x]];

其中“x”当然是数组中元素的编号-1(0索引)