【问题标题】:Hide the keyboard with type UIKeyboardTypeNumberPad objective c [duplicate]隐藏类型为 UIKeyboardTypeNumberPad 目标 c 的键盘 [重复]
【发布时间】:2014-07-08 06:55:56
【问题描述】:

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

}

指导我如何隐藏键盘。

【问题讨论】:

  • 用按钮和[textDriverAge setInputAccessoryView:toolbar]创建一个工具栏

标签: ios iphone objective-c delegates uikeyboardtype


【解决方案1】:

你可以使用两种类型

  1. Touch Method.

    使用此链接iOS dismissing keyboard, UILabel malfunction

在另一个选项中,在您的视图控制器中添加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];
}

【讨论】:

  • 感谢@Anbu 的回复
  • @MandeepKaur 有一个快乐的一天
【解决方案2】:

试试这个..:-)

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

【讨论】:

    【解决方案3】:

    您需要将 inputAccesoryView 放入文本字​​段并为其添加完成按钮。在这里,我创建了一个 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];
    

    【讨论】:

      【解决方案4】:

      添加以下代码以在数字键盘上添加返回按钮

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

      【讨论】:

        猜你喜欢
        • 2014-04-15
        • 2012-05-10
        • 1970-01-01
        • 2014-12-13
        • 2023-03-10
        • 1970-01-01
        • 2010-10-01
        • 1970-01-01
        • 2013-03-03
        相关资源
        最近更新 更多