iOS为数字键盘增加完成按钮

在输入价格的时候,要求弹出的键盘只能有数字和小数点。弹出的键盘没有完成键,想要退出键盘可以点击退出,但是为了更好的用户体验,在键盘上增加UIToolbar。

设置ToolBar:

- (UIToolbar *)addToolbar {

   UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.frame), 30)];
    toolbar.tintColor = [UIColor blackColor];
    toolbar.backgroundColor = [UIColor lightGrayColor];
    UIBarButtonItem *prevItem = [[UIBarButtonItem alloc] initWithTitle:@"  <  " style:UIBarButtonItemStylePlain target:self action:@selector(prevTextField:)];
    UIBarButtonItem *nextItem = [[UIBarButtonItem alloc] initWithTitle:@"  >  " style:UIBarButtonItemStylePlain target:self action:@selector(nextTextField:)];
    UIBarButtonItem *flbSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
    UIBarButtonItem *doneItem = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"完成",nil) style:UIBarButtonItemStylePlain target:self action:@selector(textFieldDone)];
    toolbar.items = @[prevItem,nextItem,flbSpace, doneItem];
    return toolbar;
}

为textField添加ToolBar:

_textField.inputAccessoryView = [self addToolbar];

实现效果图:

原文地址:https://www.cnblogs.com/xuzb/p/9569158.html

时间: 2024-10-07 01:14:02

iOS为数字键盘增加完成按钮的相关文章

ios在数字键盘左下角添加“完成”按钮的实现原理

最近要在系统弹出的数字键盘上的左下角额外添加一个自定制的完成按钮,于是研究了一下系统自带键盘添加自定制按钮的实现方式.总结了一下大体上的通用做法,原理大概是这样:当页面上的文本框或其他输入源因为用户的点击而变成第一响应者的时候(becomeFirstResponder),系统键盘就会弹出.而每次键盘弹出或收起时,都会向系统发送相关的键盘事件即通知消息(notification).所以,我们只要在键盘弹出或收起时捕获相关的键盘事件,并且在键盘对应的window上的相应位置添加或移除我们自定制的按钮

iOS TextField数字键盘的限制位数处理(特别适用于手机登陆)

Hi~大家好,这么长时间不和大家见面了,说来惭愧,最近忙于工作,已经很久没有写博客了, 接下来和大家分享一下在iOS下数字键盘限位的处理---好,废话不多说直接上代码 在用手机号登陆的时候大家有没有遇到这个问题? 就是一边想要输入到一定位数要限制输入,但是删除的时候还要能删除,今天小编遇到了这个问题,解决好半天,最终把它解决了,好了接下来给大家分享一下 相信大家都知道,输入框是用 UITextField的吧,其他的都不说了,要用textField的话实现代理方法,最重要的一点是设置他的键盘模式为

iOS自定义数字键盘

自定义键盘实际就是设置UITextField的inputView属性,首先我们要做的是自定义一个UIView,实现键盘的样式. 自定义View代码如下: 1 #import <UIKit/UIKit.h> 2 //创建自定义键盘协议 3 @protocol My_KeyBoardDelegate <NSObject> 4 //创建协议方法 5 @required//必须执行的方法 6 - (void)numberKeyBoard:(NSInteger) number; 7 - (v

IOS数字键盘加完成按钮

1.xib上的名为valueTextField的文本输入框的属性改为如下情形 2.插座变量 @property (weak, nonatomic) IBOutlet UITextField *valueTextField; 3.取消第一响应者 -(void)numberFieldCancle{ [self.valueTextField resignFirstResponder]; } 3.生成ToolBar - (UIToolbar *)addToolbar { UIToolbar *toolb

iOS中实现键盘右上角完成按钮

import UIKit class UITextFieldX: UITextField { override func drawRect(rect: CGRect) { super.drawRect(rect) // 键盘完成按钮 var toolBar = UIToolbar(frame: CGRectMake(0, 0, screenSize().width, 30)) toolBar.barStyle = UIBarStyle.Default var btnFished = UIButt

【笔记】移动端H5数字键盘input type=number的处理(IOS和Android)

在Vue中的项目,基于VUX-UI开发,一个常见的需求: 1.金额输入框 2.弹出数字键盘 3.仅支持输入两位小数,限制最大11位数,不允许0开头 第一,首先想到额就是在VUX-UI中制定type=number.--不可行 VUX中的文档和代码说明,type=number不支持maxLength,会报错,而且没有正则替换的处理或者钩子函数,只有输入后提示校验信息. 第二,基于VUX中XInput封装,有如下问题 1)两层v-model,正则替换的值不会触发input框渲染 解决:currentV

一个高仿闲鱼键自定义数字键盘特效

博客地址: http://www.jianshu.com/p/be68facfc4b8 仿造android端闲鱼发布选择价格数字键盘,自定义数字键盘 public class MyKeyBoardView extends KeyboardView { private Context mContext; private Keyboard mKeyBoard; public MyKeyBoardView(Context context, AttributeSet attrs) { super(con

iOS数字键盘自定义按键

UIKeyboardTypeNumberPad 数字键盘自定义按键 最近做一个搜索用户的功能,这里使用了UISearchBar.由于搜索的方式只有手机号码,所以这里的键盘要限制为数字输入,可以这么做: self.searchBar.keyboardType = UIKeyboardTypeNumberPad; 如果使用的不是搜索框而是textField输入框,可以设置textField的键盘属性来展示 self.textField.keyboardType = UIKeyboardTypeNum

iOS8数字键盘左下角添加完成按钮

iOS8数字键盘左下角添加完成按钮的核心代码如下: - (void)addDoneButtonToNumPadKeyboard { UIButton *doneButton = [UIButton buttonWithType:UIButtonTypeCustom]; if (systemVersion < 8.0){ doneButton.frame = CGRectMake(0, 163, 106, 53); }else{ doneButton.frame = CGRectMake(0, S