我学会了如何使用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的图像。