我尝试根据前一个视图控制器中的选择器中的选择将图像分配给UIImage视图。选择器由数字1-7组成,所以如果数字为" 1"被选中,我希望image1显示在图像视图上。我有一些代码:
这个" buttonPressed"将场景移动到下一个视图控制器,以及从选择器声明所选(选择)值。 " spinnerView"是第二个视图控制器中的UIImage视图。由于某种原因,图像视图中不会显示任何内容。相当困惑。请帮忙!
- (IBAction)buttonPressed:(id)sender {
NSString *select = [_array objectAtIndex: [_picker selectedRowInComponent:0]];
if ([select isEqualToString:@"1"]){
[spinnerView setImage:[UIImage imageNamed: @"image1"]];
}}
答案 0 :(得分:0)
通过以不同的方式解决问题,可以大大简化代码。
1)创建7个UIImage实例......将它们放入NSArray中。
NSArray *images = @[[UIImage imageNamed:@"1"],
[UIImage imageNamed:@"2"],
.
.
[UIImage imageNamed:@"7"]];
2)使用下标获取正确的实例。
spinnerView.image = images[[_picker selectedRowInComponent:0]];
这只是选择一个索引与组件中所选行的索引相匹配的图像。
一些调试检查:
1)用肉眼检查你的图像..他们真的都是不同的
2)将图像索引从0-6硬编码,以测试每个图像索引是否正确拾取。
spinnerView.image = images[6];
3)在将索引传递给数组之前将索引放入局部变量中。你得到了正确的索引吗?