我使用的uiPickerView有图像而不是字符串供选择,可以正常显示图像,我从苹果UIcatalog示例中获得了如何放置图像的灵感,
我以编程方式实现它没有IB,
所以问题是,如何根据选定的单元格更改图像?
我有 * MainVC(我的主视图控制器) * CustomView(定义选择器大小) * CustomPickerDataSource(选择器的数据源:)在CustomPickerDataSource中,发送选择了哪一行的数据
- (void)pickerView:(UIPickerView *)pickerView didSelectRow: (NSInteger)row inComponent:(NSInteger)component {
// Handle the selection
NSLog(@"seleccionokkkk: %d", row);
[MainVC entro:row];
}
和我的MainVC
+(void) entro: (int) cuca {
NSLog(@"sumbalo :%d", cuca);
}
我得到了在我的MainVC上选择的单元格数,这是我想要显示不同图像的地方,
但是在+(void) entro: (int) cuca
中选择图像时
我当然会收到警告,因为我用类方法设置实例变量
那么如何根据我收到的细胞编号显示图像?
伪代码: 如果image == 0,则显示image0
在哪里放置我的图像显示代码?,以及如何设置传入消息的变量?
非常感谢!
答案 0 :(得分:0)
我假设您拥有的图像数量与拾取器中的项目数量相同。按照与选择器视图中相同的顺序将它们放入数组中。然后将要更改的UIImageView更改为所选图片,并将其设置为具有给定索引的数组中的图片。
您可以在entro:
方法中执行此操作(这应该是一个实例方法,没有理由不应该或不可以),或者您可以继续在{pickerView:didSelectRow:
方法中执行此操作1}}方法。
您可以设置如下图像:
UIImageView *myImageView;
NSArray *myImageArray;
...
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:
(NSInteger)row inComponent:(NSInteger)component {
[myImageView setImage:[myImageArray objectAtIndex:row]];
}