2

テキストフィールドが選択されたときに表示されるUIPickerViewがあります。

-(void) showPicker
{
    [self.genere resignFirstResponder];
    pickerGenero = [[UIPickerView alloc] initWithFrame:CGRectMake(0,215,320,0)];

    pickerGenero.delegate = self;
    pickerGenero.dataSource = self;
    pickerGenero.showsSelectionIndicator = YES;    

    [self.parentViewController.tabBarController.view addSubview:pickerGenero];  
    pickerGenero=nil; 
}

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component 
{
    return [genreArray count];
}
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
    return 1;  
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
    self.genere.text =[genreArray objectAtIndex:row];
    [self.pickerGenero removeFromSuperview];


}

ただし、行が選択されている場合は削除されません。テキストフィールドは選択した値で更新されますが、ピッカービューは削除されません。.sethideen = Trueを試用版として使用しようとしましたが、機能しません。

どうもありがとう

4

1 に答える 1

2

実際、あなたのものは正しいコーディング方法ではありません。textField をクリックすると、 を使用resignFirstResponderして呼び出してキーボードを非表示にするだけです。そのようにする代わりに、textFieldとして asをpickerView追加する必要があります。そして、このコードを試してくださいpickerViewinputViewgenere

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
    self.genere.text =[genreArray objectAtIndex:row];
    [genere resignFirstResponder];

}
于 2012-04-27T10:44:34.010 に答える