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

当一个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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容