0

目标 c 的新手,这可能是一个简单的错误。我正在尝试关闭UITextField我拥有的所有 3 个键盘UIPickerView。因此键盘不会出现,只会显示选择器视图。我做了一些研究,但无法弄清楚。这是 .m 文件的代码,它不起作用。

-(void)textFieldDidBeginEditing:(UITextField*)textField;
{
    [textField resignFirstResponder];
    modeArray = [[NSMutableArray alloc] init];
    if(textField.tag==1){
        [modeArray addObject:@" bus "];
        [modeArray addObject:@" bus/mrt "];
        tbMode.inputView = pickerView;
        pickerView.hidden = NO;
    }
    else{
        if(textField.tag==2){
            [modeArray addObject:@" 300 "];
            [modeArray addObject:@" 400 "]; 
            [modeArray addObject:@" 500 "];
            tbWalkDist.inputView = pickerView;
            pickerView.hidden = NO;
        }
        else{
            if(textField.tag==3){
                [modeArray addObject:@" cheapest "];
                [modeArray addObject:@" fastest "];
                tbRouteOpt.inputView = pickerView;
                pickerView.hidden = NO;
            }
            else{
                pickerView.hidden=YES;
            }
        }
    }
}

我应该如何关闭只显示选择器视图的键盘?使用这条线[textField resignFirstResponder];我可以用来关闭键盘吗?

4

2 回答 2

0

您需要将所有文本字段委托给 viewController,然后使用该方法;

-(BOOL)textFieldShouldReturn:(UITextField *)textField // called from textfield (keyboard) 
{
//... place your [textField resignFirstResponder]; logic here
}

确保将文本视图委托协议添加到视图控制器 .h 文件

@interface ViewController : UIViewController <UITextViewDelegate>
于 2012-07-27T08:12:38.247 回答
0

我不清楚你的问题,但如果你想要这将隐藏键盘,如果你按回车键:

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
  [textFieldName resignFirstResponder];
  return YES;

}

于 2012-07-27T08:13:16.680 回答