我有一个Picker用作UITextField的inputView而不是键盘。用户拨入他们的选择,保存然后关闭视图。回到该视图并拨入新的选择时,选择器与保存的数据不同步。
选择器正在使用字符串数组作为数据源。
因此,例如,查看下面的图片,您可以看到选取器处于它的第一个空位置。但是我想要的是让选择器拨入RE2或将其他任何选项保存在textField中。
如何同步两者?
最佳答案
我想到了。我遍历dataSource数组以供选择器查找匹配的字符串,然后在选择器上使用selectRow:inComponent:animated将其同步。这是代码。我在textField委托方法中触发了它。
- (void)textFieldDidBeginEditing:(UITextField *)textField{
UIBarButtonItem *saveButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:self action:@selector(save)];
self.navigationItem.rightBarButtonItem = saveButtonItem;
[saveButtonItem release];
//Sync The Picker
for(NSInteger i = 0; i < [pickerData count]; i++){
NSString *string = [pickerData objectAtIndex:i];
if([string isEqualToString:profileField.text]){
pickerRow = i;
break; //Once we have it break out of the loop
}
}
[myPicker selectRow:pickerRow inComponent:0 animated:NO];
}