2016-04-12 92 views
0

我已經做了很多選擇器視圖之前,一些有2個組件。但在閱讀完所有文章之後,我無法獲得一排選擇。UIPickerView selectRow不改變顯示

我有我的視圖控制器內的滾動視圖2選擇器視圖。每個都有不同的標籤和不同的值。揀貨員加載正確,所以我現在的代表和數據源正在工作。

我在同一個視圖上有許多開關,他們正在更新。

@property (strong, nonatomic) IBOutlet UIPickerView *autolockPicker; 
@property (strong, nonatomic) IBOutlet UIPickerView *autoRelockPicker; 

autolockTimes = @[@"Disabled",@"5 Seconds",@"10 Seconds",@"15 Seconds",@"30 Seconds"]; 
autolockPicker = [[UIPickerView alloc]init]; 
autolockPicker.delegate = self; 
autolockPicker.tag = 0; 

autoRelockTimes = @[@"Disabled",@"15 Seconds",@"30 Seconds",@"60 Seconds",@"90 Seconds"]; 
autoRelockPicker = [[UIPickerView alloc]init]; 
autoRelockPicker.delegate = self; 
autoRelockPicker.tag = 1; 

if ([lsd.ARE isEqualToString:@"Disabled"]) { 
    [autoRelockPicker selectRow:0 inComponent:0 animated:NO]; 
} else if ([lsd.ART isEqualToString:@"15"]) { 
    [autoRelockPicker selectRow:1 inComponent:0 animated:NO]; 
} else if ([lsd.ART isEqualToString:@"30"]) { 
    NSLog(@"ART is 30"); 
    [autoRelockPicker selectRow:2 inComponent:0 animated:YES]; 
} else if ([lsd.ART isEqualToString:@"60"]) { 
    NSLog(@"ART is 60"); 
    [autoRelockPicker selectRow:3 inComponent:0 animated:NO]; 
} else if ([lsd.ART isEqualToString:@"90"]) { 
    [autoRelockPicker selectRow:4 inComponent:0 animated:NO]; 
} 

我得到NSLog的ART是30,所以我知道我在那裏。

我已經試過: - 觸發didSelectRow - - 從viewWillAppear中 加載 - 之前和之後 重裝組件創建一個按鈕來更新該行

沒有奏效。

謝謝!

+0

好奇 - 如果您的選取器視圖屬性設置爲出口,爲什麼您還以編程方式創建選取器視圖? – rmaddy

+0

你的問題沒有上下文。所有這些代碼在哪裏?什麼是實際問題?目前尚不清楚。 – rmaddy

+0

maddy。你是一個天才。我一直在尋找這麼久。我當然從我的其他應用程序中借用了代碼。我剛剛評論了這個分配,它起作用了! – Scott

回答

0

感謝@maddy,我意識到我正在以編程方式分配選擇器。我刪除了行分配和初始化採集器,它的工作!