0

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

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

谢谢!

我的 UIPickerview:

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

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

4

1 回答 1

0

假设您为您的 pickerview 记录管理一个 NSMutableArray。在这种情况下,您必须管理 3 种方法来实现此目的:

1.你的绿色按钮处理方法

-(IBAction) greenbuttonPressed:(id)sender{
    // add new record to your NSMutableArray (mypickerviewrowsarray)

    [self.myPickerView reloadAllComponents];

}

2.pickeview的datasource方法,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 的委托,同时设置您的视图控制器以实现 UIPickerViewDelegate 和 UIPickerViewDataSource。

希望你能用这个!

于 2013-05-19T21:55:54.503 回答