如何在UIPickerview中添加一行

时间:2013-05-19 21:25:38

标签: ios6 uipickerview

我有一个UIPickerView,绿色按钮在UIPickerView中添加新记录。我可以添加一条新记录,但它没有出现,因为我无法更改组件中的行数。

如何在UIPickerView中添加记录和行?

谢谢!

我的UIPickerview:

https://docs.google.com/file/d/0B26lA9znN3CUSTdvX21kUF92MzA/edit?usp=sharing

编辑:当我点击绿色按钮时,它会显示一个UIAlertView TextInput,我在NSMutableArray中添加一个新值,因此记录数会发生变化。因此,当一个ReloadAllComponents他没有在UIPickerView中添加额外的行,因为我已经在numberOfRowsInComponent方法中设置了一个数量。

1 个答案:

答案 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。

希望你能用它!