我有一个UIPickerView,绿色按钮在UIPickerView中添加新记录。我可以添加一条新记录,但它没有出现,因为我无法更改组件中的行数。
如何在UIPickerView中添加记录和行?
谢谢!
我的UIPickerview:
https://docs.google.com/file/d/0B26lA9znN3CUSTdvX21kUF92MzA/edit?usp=sharing
编辑:当我点击绿色按钮时,它会显示一个UIAlertView TextInput,我在NSMutableArray中添加一个新值,因此记录数会发生变化。因此,当一个ReloadAllComponents他没有在UIPickerView中添加额外的行,因为我已经在numberOfRowsInComponent方法中设置了一个数量。
答案 0 :(得分:0)
假设您为pickerview记录管理NSMutableArray。在这种情况下,您必须管理3种方法才能实现此目的:
<强> 1。你的绿色按钮处理方法
-(IBAction) greenbuttonPressed:(id)sender{
// add new record to your NSMutableArray (mypickerviewrowsarray)
[self.myPickerView reloadAllComponents];
}
<强> 2。 pickeview的数据源方法,numberOfRowsInComponent
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return [self.mypickerviewrowsarray count];
}
第3。 pickerview的委托方法,titleForRow
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return [self.mypickerviewrowsarray objectAtIndex:row];
}
要做得对,请确保设置了pickerview的委托,同时设置了viewcontroller以实现UIPickerViewDelegate和UIPickerViewDataSource。
希望你能用它!