Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用UIKeyboardTypeNumberPad objective c类型隐藏键盘_Ios_Iphone_Objective C_Delegates_Uikeyboardtype - Fatal编程技术网

Ios 使用UIKeyboardTypeNumberPad objective c类型隐藏键盘

Ios 使用UIKeyboardTypeNumberPad objective c类型隐藏键盘,ios,iphone,objective-c,delegates,uikeyboardtype,Ios,Iphone,Objective C,Delegates,Uikeyboardtype,在iPhone应用程序中,我有一个UITextField,需要作为数字输入,因此我将键盘类型作为UIKeyboardTypeNumberPad传递。它可以工作,但没有返回或完成按钮,所以我如何才能隐藏键盘 参考代码为: textDriverAge.delegate=self; textDriverAge.keyboardType=UIKeyboardTypeNumberPad; textDriverAge.clearButtonMode = UITextFieldViewModeWhileEdi

在iPhone应用程序中,我有一个
UITextField
,需要作为数字输入,因此我将键盘类型作为
UIKeyboardTypeNumberPad
传递。它可以工作,但没有返回或完成按钮,所以我如何才能隐藏键盘

参考代码为:

textDriverAge.delegate=self;
textDriverAge.keyboardType=UIKeyboardTypeNumberPad;
textDriverAge.clearButtonMode = UITextFieldViewModeWhileEditing;
[textDriverAge setReturnKeyType:UIReturnKeyDone];// UIReturnKeyNext];
textDriverAge.enablesReturnKeyAutomatically=TRUE;
我处理过
UITextfield
事件,如:

- (BOOL)textFieldShouldReturn:(UITextField *)textField {


if(textDriverAge == textField)
{
    [textDriverAge resignFirstResponder];

    //[tglDropInDropOff becomeFirstResponder];
}

}

指导我如何隐藏键盘。

您需要将InputAccessoryView放入文本字段,并向其添加“完成”按钮。在这里,我制作了一个xib名称“InputAccessoryView”,并根据我的需要进行了设计。你也可以这样做

        InputAccessoryView *inputAccessoryView=(InputAccessoryView *)[[[NSBundle mainBundle] loadNibNamed:@"InputAccessoryView" owner:self options:nil] objectAtIndex:0];
        [inputAccessoryView.doneButton setTarget:self];
        [inputAccessoryView.doneButton setAction:@selector(accessoryDoneAction:)];

        [inputAccessoryView.cancelButton setTarget:self];
        [inputAccessoryView.cancelButton setAction:@selector(acessoryCancelButtonAction:)];


[self.textField setInputAccessoryView:inputAccessoryView];
您可以使用两种类型

  • 触摸法

    使用此链接

  • 在另一个选项中,在视图控制器中添加
    UIToolbar

    - (void)viewDidLoad
    
    {
    [super viewDidLoad];
    
    UIToolbar  *numberToolbar = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 50)];
    numberToolbar.items = [NSArray arrayWithObjects:
                           [[UIBarButtonItem alloc]initWithTitle:@"Cancel" style:UIBarButtonItemStyleBordered target:self action:@selector(cancelNumberPad:)],
                           [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil],
                           [[UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(doneWithNumberPad:)],
                           nil];
    yourtextField.inputAccessoryView = numberToolbar;
    
     }
    
    
    - (IBAction)cancelNumberPad:(UITextField*)textField
    {
     [yourtextField resignFirstResponder];
        yourtextField.text=@"";
    }
    
    
    - (IBAction)doneWithNumberPad:(UITextField*)textField 
    {
    [yourtextField resignFirstResponder];
    }
    

    添加以下代码以添加numberpad上的返回按钮

    - (void)viewDidLoad 
    
    {
    [super viewDidLoad];
    
    UIToolbar* numberToolbar = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 50)];
    numberToolbar.barStyle = UIBarStyleBlackTranslucent;
    numberToolbar.items = [NSArray arrayWithObjects:
                         [[UIBarButtonItem alloc]initWithTitle:@"Return" style:UIBarButtonItemStyleBordered target:self action:@selector(returnNumberPad)],
                     nil];
    [numberToolbar sizeToFit];
    numberTextField.inputAccessoryView = numberToolbar;
    
     }
    
    -(void)returnNumberPad
    {
    [numberTextField resignFirstResponder];
    }
    
    试试这个…-)


    创建一个带有按钮和
    [textDriverAge setInputAccessoryView:toolbar]
    谢谢@Anbu的帮助response@MandeepKaur祝你有快乐的一天
    - (void)viewDidLoad
    {
    [self addTapGesture];
    }
    
    #pragma mark
    #pragma mark Gesture  methods
    
    - (void) addTapGesture {
    UITapGestureRecognizer *tapper = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
    tapper.cancelsTouchesInView = FALSE;
    [self.view addGestureRecognizer:tapper];
    }
    
    - (void)handleSingleTap:(UITapGestureRecognizer *) sender
    {
    [self.view endEditing:YES];
    }