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

时间:2015-02-27 21:11:57

标签: ios objective-c xcode uiimageview uipickerview

我尝试根据前一个视图控制器中的选择器中的选择将图像分配给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"]];
}}

1 个答案:

答案 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)在将索引传递给数组之前将索引放入局部变量中。你得到了正确的索引吗?