如何使用选择器选择将图像显示到 UIImage View

how to use a picker selection to display an image to a UIImage View

我正在尝试根据前一个视图控制器中选取器的 selection 将图像分配给 UIImage 视图。选择器由数字 1-7 组成,因此如果选择了数字“1”,我希望 image1 显示在图像视图中。我有一些代码:

此 "buttonPressed" 将场景移动到下一个视图控制器,并声明来自选取器的 selected (select) 值。 "spinnerView" 是第二个视图控制器中的 UIImage 视图。由于某种原因,图像视图内不会显示任何内容。很困惑。请帮忙!

- (IBAction)buttonPressed:(id)sender {

NSString *select = [_array objectAtIndex: [_picker selectedRowInComponent:0]];

if ([select  isEqualToString:@"1"]){
    [spinnerView setImage:[UIImage imageNamed: @"image1"]];
}}

您可以通过以不同的方式解决问题来显着简化您的代码。

1) 创建 7 个 UIImage 实例..a 将它们放入 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) 在将索引传递给数组之前将其放入局部变量中。你得到正确的索引吗?