2011-09-28 113 views
6

我可以找到一篇文章,教導如何使用委託方法來檢查行是否有效,如果沒有則滾動到正確的行。我可以禁用特定UIPickerView項目中的選擇嗎?

但這不是我想要的。在pickerView初始化後,我可以禁用特定的行嗎? 像「灰色」行一樣,無法停止指示器。

謝謝專家。

回答

10

這樣做有兩個部分。

  1. 使用-[<UIPickerViewDelegate> pickerView:viewForRow:forComponent:reusingView:]返回一個自定義視圖的每一行,如UILabel。對於想要顯示爲禁用的行,您需要配置視圖以反映該禁用。
  2. -[<UIPickerViewDelegate> pickerView:didSelectRow:inComponent:]中,您需要檢測何時選中禁用,然後使用-[UIPickerView selectRow:inComponent:animated:]「回滾」到「有效」行。
+1

我有一些想法了,謝謝你。 – mineschan

+1

非常感謝您提供的信息...它完美的工作.... – iOSAppDev

0

你也可以只留出一個空的實現,例如:

- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { 
    if(row==0){ 
//Code 
} 
if(row==1){ 

//BLANK 

} 
if(row==2){ 
//Code 
} 
相關問題