如何将用户输入存储在UIPickerView中?

问题描述

| 我的应用程式目前有a0。用户将在其中输入一个文本框,我希望将该字符串保存在“ 0”中,以便他们可以返回并点按它,而不必再次输入。 我现在有一个数组,其中包含一些文本,但是我想知道一旦程序运行就如何添加它。     

解决方法

        假设pickerArray是您的数组名称,其数据显示在pickerView中。 您要做的是:-
 (void)textFieldDidEndEditing:(UITextField *)textField
{
[pickerArray addObject:textField.text];
[*yourPickerViewNmae* reloadAllCompononents];
}
希望对您有所帮助。     ,        我已经完成并检查了。它工作正常。 以下是代码。
#import \"pickerViewController.h\"

@implementation pickerViewController
@synthesize textfield,picker,pickerarray,btn;
- (void)dealloc
{
    [super dealloc];
    [picker release];
    [textfield release];
    [pickerarray release];
    [btn release];
}

- (void)didReceiveMemoryWarning
{
    // Releases the view if it doesn\'t have a superview.
    [super didReceiveMemoryWarning];

    // Release any cached data,images,etc that aren\'t in use.
}

#pragma mark - View lifecycle


// Implement viewDidLoad to do additional setup after loading the view,typically from a nib.
- (void)viewDidLoad
{
    [super viewDidLoad];
    textfield.delegate=self;
    picker.delegate=self;
    picker.dataSource=self;
    picker.showsSelectionIndicator=YES;
    pickerarray=[[NSMutableArray alloc]init];

}


-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
    return 1;
}
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
    return [pickerarray count];
}

-(void)textFieldDidEndEditing:(UITextField *)textField
{
    textfield.delegate=self;
    [pickerarray addObject:textField.text];

    [picker reloadAllComponents];

    NSLog(@\"%@\",pickerarray);
}

-(NSString*)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{


    return [pickerarray objectAtIndex:row];

}
-(IBAction)killkeyBoard:(id)sender
{
    [textfield resignFirstResponder];
}
    ,        1.使用UITextField的委托函数,在委托函数内将文本添加到所需的位置(使用NSMutable数组)。     ,        
UIPickerDatasource
可以显示一系列项目,在这种情况下,您的数据是动态的,因为您需要输入文本,然后希望将其输入到选择器控件中。 您需要有一个ѭ5,您可以在其中动态添加和删除对象。然后添加后,您可以调用选择器的
reloadAllComponents
方法重新加载数据。