2012-02-09 47 views
0

I學習如何使用選取器視圖,單打和雙打。我想了解如何使用圖像執行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; 

} 

回答

2

編輯:我困惑的功能,你需要在我的初步答案實現。對不起。

您需要實現

- (UIView的*)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger的)行forComponent:(NSInteger的)組件reusingView:(UIView的*)查看

您的UIPickerView委託的方法返回給定行的UIImageView。

參考頁here.

例如(非常愚蠢的實現,而不重用意見)

- (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格式的圖片。

+0

對不起彼得Sarnoswski你能更具體,謝謝你的答案。 – 2012-02-09 06:25:53

+0

在那裏,我已經更新了我的答案。 – 2012-02-09 07:32:24

+0

陣列怎麼樣?我如何製作所有圖像的陣列?我不知道對不起。 – 2012-02-09 18:09:57