美文网首页TextFiled
iOS开发:为数字键盘添加完成按钮(UIToolbar)

iOS开发:为数字键盘添加完成按钮(UIToolbar)

作者: First灬DKS | 来源:发表于2016-05-03 19:57 被阅读7302次

    当一个UITextField需要输入的是数字时,我们可能会把这个UITextField的键盘设置成数字键盘,但是数字键盘没有done按钮,怎么收起键盘,当然也可以通过点击空白处收起键盘:

    //取消第一响应者
    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
    {
        [self.view endEditing:YES];
    }
    

    但是有时候我们需要给这个数字键盘在弹起时,键盘上面添加一个收起键盘的按钮,比如说:完成,当然也可以添加上一项、下一项的按钮:点击完成时,只是负责键盘的收起:

    - (UIToolbar *)addToolbar
    {
        UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.frame), 35)];
        toolbar.tintColor = [UIColor blueColor];
        toolbar.backgroundColor = [UIColor sy_grayColor];
        UIBarButtonItem *nextButton = [[UIBarButtonItem alloc] initWithTitle:@"下一步" style:UIBarButtonItemStylePlain target:self action:@selector(nextTextField)];
        UIBarButtonItem *prevButton = [[UIBarButtonItem alloc] initWithTitle:@"上一步" style:UIBarButtonItemStylePlain target:self action:@selector(prevTextField)];
        UIBarButtonItem *space = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
        UIBarButtonItem *bar = [[UIBarButtonItem alloc] initWithTitle:@"完成" style:UIBarButtonItemStylePlain target:self action:@selector(textFieldDone)];
        toolbar.items = @[nextButton, prevButton, space, bar];
        return toolbar;
    }
    

    上面这段代码里面,有两个方法需要实现以下,分别对应的是上一项、下一项,根据自己的需要,去实现里面的代码,这里就不过多的叙述了!

    说了这么多,到底囧么来用呢,其实很简单,在你的代码里面,定义了一个UITextField,比如说是:userField,用法如下:

    //去调用上面的代码,给这个UITextField的对象添加UIToolbar
    _userField.inputAccessoryView = [self addToolbar];
    

    效果如下图:


    图片1.png

    相关文章

      网友评论

        本文标题:iOS开发:为数字键盘添加完成按钮(UIToolbar)

        本文链接:https://www.haomeiwen.com/subject/kvhrrttx.html