0
我在工具栏中创建了一个具有完成按钮的UIPickerView。我想完成以下操作:只有当点击完成按钮时才将UIPickerView选项添加到TextField
用户在UIPickerView中选择一个类别,然后点击“完成”按钮。结果应该是UIPickerView和工具栏消失,类别文本字段将根据用户的选择进行更新。我几乎拥有一切权利。当完成按钮被点击时,PickerView和工具栏消失。但是,即使在我点击按钮之前,Textfield也会更新。但是我希望文本域只在完成按钮被点击时更新。
任何人都可以指出我在正确的方向,我有我的错误?由于
这是我使用的代码:
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
//disable saveButton
[_saveButton setEnabled:NO];
[self.picker removeFromSuperview];
[self.pickerToolbar removeFromSuperview];
//Initialize Data
_pickerData = @[@"Item 1", @"Item 2", @"Item 3", @"Item 4"];
//Connect Data
self.picker.dataSource = self;
self.picker.delegate = self;
_textFieldCategory.inputView = _picker;
_textFieldCategory.inputAccessoryView = _pickerToolbar;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
// The number of columns of data
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
// The number of rows of data
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return _pickerData.count;
}
// The data to return for the row and component (column) that's being passed in
- (NSString*)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return _pickerData[row];
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
self.textFieldCategory.text = _pickerData[row];
}
- (IBAction)doneButtonTapped:(id)sender
{
[self.picker removeFromSuperview];
[self.pickerToolbar removeFromSuperview];
谢谢克里斯。这就像一个魅力! – mjbn 2015-03-24 21:37:19
@mjbn将答案标记为正确:) – Thomas 2015-03-24 21:40:12
完成!对不起,系统告诉我,我必须等3分钟才能检查它! – mjbn 2015-03-24 21:44:22