2010-12-18 127 views
0

我首次使用存儲在數組中的值加載選取器視圖。如何使用新數據重新加載選取器視圖

我使用,

temp = [NSArray arrayWithObjects:@"Male", @"Female", nil]; 

- (NSString *)pickerView:addData titleForRow:(NSInteger)row 
           forComponent:(NSInteger)component { 
    return [temp objectAtIndex:row]; 
} 

但它顯示了空選擇器視圖。

回答

0

確保您設置了委託和數據源?

如果沒有,

你有

@interface YourView : UIViewController<UIPickerViewDelegate,UIPickerViewDataSource> 
+0

我無法使用重新加載所有組件來動態地重新加載我的選取器視圖。爲什麼? – 2010-12-27 10:50:13

+0

如何重新加載?使用你的pickerView變量?如果是這樣,你有沒有把它與IB聯繫起來? – KingofBliss 2010-12-28 05:09:42

3

你嘗試[somePickerVier reloadAllComponents];實現這個在您的.h文件中?

而且,正確的委託方法是- (NSString *)pickerView:(UIPickerView *)pickerViewtitleForRow:(NSInteger)row forComponent:(NSInteger)component

0

ü一直在使用自動釋放陣列 因此u必須保留這一點,如果ü希望

ü不喜歡這個

然後做的alloc和init然後

增加男,女...

temp = [[NSArray arrayWithObjects:@「Male」,@「Female」,nil] retain];

  • (的NSString *)pickerView:addData titleForRow:(NSInteger的)行 forComponent:(NSInteger的)分量{

    返回[臨時objectAtIndex:行]。

}

0

你需要做的一兩件事。將下面的行添加到您的活動中:

{ 

myPicker.delegete=self; 

myPicker.datasource=self; 

} 

還可以在拾取器視圖通過添加數據源而崩潰時使用此功能。

[myPicker reloadAllComponents];