就拿一個BOOL
變量比如...
BOOL Array1;
設定這個變量的值在viewDidLoad:
方法
Array1 = YES;//or set NO which you want...
後,在textFieldDidBeginEditing
方法只是設置此BOOL
變量值真假,然後重新加載UIPickerView
像波紋管...
-(void)textFieldDidBeginEditing:(UITextField *)textField{
if (textField == textField1) {
Array1 = YES;
}
else {
Array1 = NO;
}
[yourPickerView reloadAllComponents];
}
,並使用從該示例中,這在下面的代碼和剛邏輯..
- (NSInteger)pickerView:(UIPickerView *)thePickerView numberOfRowsInComponent:(NSInteger)component {
if (Array1) {
return [array1 count];
}
else{
return [array2 count];
}
}
- (NSString *)pickerView:(UIPickerView *)thePickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
if (Array1) {
return [array1 objectAtIndex:row];
}
else{
return [array2 objectAtIndex:row];
}
}
- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
if (Array1) {
textField1.text = [array1 objectAtIndex:row];
}
else{
textField2.text = [array2 objectAtIndex:row];
}
}
我不明白你的問題清楚..請給予更多的代碼描述:) – iPatel
我不知道有多少代碼會有幫助,但我會盡我所能解釋更好:)我有多個文本框,帶來了單UIPicker的實例。每次我改變數組我使用'[pickr selectRow:0 inComponent:0 animated:YES];'這樣picker就在我的數組中的第一個項目,因爲如果我沒有選擇器會選擇哪個位置I先前選擇。我想做的事情是,如果用戶點擊回到先前的文本字段,我希望他們之前選擇的數組項(而不是該數組的第一項)(這是因爲我上面的代碼而發生的)。更好的意識? – badger0053
'[yourPicker reloadAllComponents]'試試吧 – amar