带有图像的自定义选取器视图



我学会了如何使用Picker视图、单打和双打。我想学习如何使用图像创建Picker视图。滚动条中没有数字或单词,而是有不同的图像可供选择。谢谢我想是在使用这个代码,但它没有运行我,我找不到错误。谢谢你的帮助。

 @synthesize picker, Array, image;

 - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView;
 {
      return 1;
 }

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent: (NSInteger)component;
{   
         return [self.Array count];
    }
 - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
 return [self.Array objectAtIndex:row];
 }
- (UIView *) pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:    (NSInteger)component reusingView:(UIView *)view
{
    NSString *img_src = [NSString stringWithFormat:@"6-12AM.png", row];
     UIImageView *image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:img_src]];
    return image;
}

EDIT:我在最初的回答中混淆了您需要实现的函数。抱歉。

您需要实施

-(UIView*)pickerView:(UIPickerView*)pickerView viewForRow:(NSInteger)RowforComponent:(NSInteger)component reusingView:(UIView*)view

方法,以返回给定行的UIImageView。

此处为参考页。

例如(没有重用视图的非常愚蠢的实现)

- (UIView *) pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
{
NSString * img_src = [NSString stringWithFormat:@"image_%d.png", row];
UIImageView * retval = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:img_src]] autorelease];
return retval;
}

假设您的资源中有名为image[num].png的图像。

最新更新