我目前在我的應用程序中有一個UIPickerView
。有一個文本框,用戶將輸入一個字符串,我希望該字符串被保存在UIPickerView
,以便他們可以返回並點擊它,而不是再次輸入。如何將用戶輸入存儲在UIPickerView中?
我現在有一個數組,其中有一些文本,但我想知道如何在程序運行時添加它。
我目前在我的應用程序中有一個UIPickerView
。有一個文本框,用戶將輸入一個字符串,我希望該字符串被保存在UIPickerView
,以便他們可以返回並點擊它,而不是再次輸入。如何將用戶輸入存儲在UIPickerView中?
我現在有一個數組,其中有一些文本,但我想知道如何在程序運行時添加它。
假設pickerArray是您的數組名稱,其數據顯示在pickerView中。
你必須做的是: -
(void)textFieldDidEndEditing:(UITextField *)textField
{
[pickerArray addObject:textField.text];
[*yourPickerViewNmae* reloadAllCompononents];
}
我希望這將有助於you.Happy編碼:)
UIPickerDatasource
可以採取項目的數組來顯示,你的情況你的數據是動態的,因爲您需要在文本中輸入,然後您希望將它輸入到選取器控件中。
您需要有一個NSMutableArray
,您可以在其中動態添加和刪除對象。然後添加後,您可以調用reloadAllComponents
您的選擇器的方法來重新加載數據。
1.使用UITextField的委託函數,在委託函數內在所需的arry中添加文本(使用NSMutable數組)。
我已經完成了檢查。它工作正常。
以下是驗證碼。
#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];
}
謝謝!這非常有幫助! – Brandon 2011-06-13 06:49:06