현재 내 앱에 UIPickerView
이 있습니다. 사용자가 문자열을 입력 할 텍스트 상자가 있으며 그 문자열을 UIPickerView
에 저장하여 다시 입력하는 대신 다시 되돌릴 수 있습니다.사용자 입력을 UIPickerView에 저장할 수 있습니까?
이제 배열에 텍스트가 들어 있지만 일단 프로그램이 실행되면이를 추가하는 방법을 알고 싶습니다.
현재 내 앱에 UIPickerView
이 있습니다. 사용자가 문자열을 입력 할 텍스트 상자가 있으며 그 문자열을 UIPickerView
에 저장하여 다시 입력하는 대신 다시 되돌릴 수 있습니다.사용자 입력을 UIPickerView에 저장할 수 있습니까?
이제 배열에 텍스트가 들어 있지만 일단 프로그램이 실행되면이를 추가하는 방법을 알고 싶습니다.
pickerArray가 데이터가 pickerView에 표시되는 배열 이름이라고 가정합니다.
당신이해야 할 일은 다음과 같습니다 - 나는 그것이 you.Happy 코딩 :
UIPickerDatasource
항목의 배열을 취할 수 귀하의 경우 데이터에 표시하는 데 도움이 될 것입니다 희망
(void)textFieldDidEndEditing:(UITextField *)textField
{
[pickerArray addObject:textField.text];
[*yourPickerViewNmae* reloadAllCompononents];
}
텍스트로 입력해야 할 필요가있을 때 동적이며, 그 다음에 피커 컨트롤에 입력해야합니다.
개체를 동적으로 추가하거나 제거 할 수있는 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