0

データベースから値を表示するテキストフィールドがあるアプリケーションがあります。テキストフィールドの横にボタンがあります。Custom、Walk、Run、Jogという4つの値を含むピッカーがあります。

テキストフィールドに値が含まれている場合、つまり「Walk」が含まれている場合、ボタンをクリックすると、4 つの値が入力されたピッカーが表示されます。しかし、私の問題は、ボタンがクリックされたときに、ピッカーで値「ウォーク」を設定する必要があることです。

これは私のコードです。

- (void)viewDidLoad
{
    [super viewDidLoad];
    currentarray = [[NSMutableArray alloc] initWithObjects:@"Custom",@"Walk",@"Run",@"Jog",nil];
       // Do any additional setup after loading the view from its nib.
}

これは私のボタンアクションで、クリックするとピッカーが開きます:

-(IBAction)choose
{
    actionsheet = [[UIActionSheet alloc]initWithTitle:[currentarray objectAtIndex:0] delegate:self cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:nil, nil];

    [actionsheet setTitle:@"Picker"];

    pickerView = [[UIPickerView alloc]initWithFrame:CGRectMake(0, 40, 0, 0)];
    pickerView.dataSource=self;
    pickerView.delegate=self;
    pickerView.showsSelectionIndicator=YES;
    [actionsheet addSubview:pickerView];
    [actionsheet showInView:self.view];
    [pickerView selectRow:[txtTextfield.text intValue ]-1 inComponent:0 animated:YES];        
    [actionsheet showInView:[[UIApplication sharedApplication]keyWindow]];
    [actionsheet setBounds:CGRectMake(0, 0, 320, 485)];        
}

-(NSString*)pickerView:(UIPickerView*)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{      
    NSString *string;
    string = [NSString stringWithFormat:@"%@",[currentarray objectAtIndex:row]];
    return string;      
}

-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
    return 1;
}

-(NSInteger)pickerView:(UIPickerView*)pickerView numberOfRowsInComponent:(NSInteger)component{
    return [currentarray count];
}
4

1 に答える 1

0

次のようにpickerViewを設定できます。

 [pickerView setObject:textField.text];

次のリンクをご覧ください。

http://iphonedevsdk.com/forum/iphone-sdk-development/11594-set-selected-row-of-uipickerview-in-applicationdidfinishlaunching.html

于 2012-10-25T11:58:42.677 に答える