ユーザー入力をUIPickerViewに保存するにはどうすればよいですか?

ios4 ipad objective-c xcode
ユーザー入力をUIPickerViewに保存するにはどうすればよいですか?

現在、アプリに「UIPickerView」があります。 ユーザーが文字列を入力するテキストボックスがあり、その文字列を `UIPickerView`に保存して、もう一度入力する代わりに戻ってタップできるようにします。

配列にテキストが含まれていますが、プログラムの実行後に追加する方法を知りたいです。

  1  0


ベストアンサー

pickerArrayがデータがpickerViewに表示される配列名であるとします。

あなたがしなければならないことは:-

 (void)textFieldDidEndEditing:(UITextField *)textField
{
[pickerArray addObject:textField.text];
[*yourPickerViewNmae* reloadAllCompononents];
}

それがあなたのお役に立てば幸いです。ハッピーコーディング:)

2


私はそれを行って確認しました。 それはうまくいきます。

以下はそのコードです。

#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];
}

2


  1. UITextFieldのデリゲート関数を使用し、デリゲート関数内で目的のarryにテキストを追加します(NSMutable配列を使用)。

1


`UIPickerDatasource`は表示する項目の配列を取得できます。この場合、テキストで入力する必要があるため、データは動的であり、ピッカーコントロールに入力する必要があります。

オブジェクトを動的に追加および削除できる「NSMutableArray」が必要です。 その後、追加後、ピッカーの `reloadAllComponents`メソッドを呼び出してデータをリロードできます。

0


タイトルとURLをコピーしました