ios开发自定义键盘,ios开发自定义键盘模式

IOS-OC 自定义数字键盘

//键盘的高度

成都创新互联公司成立于2013年,先为望谟等服务建站,望谟等地企业,进行企业商务咨询服务。为望谟企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

2 我们先定义两个textField:用来接收键盘的输入值

UITextField * textfield2 = [[UITextField alloc] initWithFrame:CGRectMake(170, 240, 180, 40)];

textfield2.tag = 222;

textfield2.backgroundColor = [UIColor orangeColor];

textfield2.layer.cornerRadius = 5;

textfield2.layer.masksToBounds = YES;

textfield2.clearButtonMode = UITextFieldViewModeAlways;

[self.view addSubview:textfield2];

UITextField * textfield3 = [[UITextField alloc] initWithFrame:CGRectMake(170, 300, 100, 40)];

textfield3.tag = 223;

textfield3.placeholder = @"验证码";

textfield3.layer.cornerRadius = 5;

textfield3.layer.masksToBounds = YES;

textfield3.clearButtonMode = UITextFieldViewModeAlways;

textfield3.backgroundColor = [UIColor whiteColor];

[self.view addSubview:textfield3];

3 //键盘的辅助视图

//设置辅助视图的大小

UIView * grayView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 40)];

//辅助视图的背景颜色

grayView.backgroundColor = [UIColor lightGrayColor];

//.注意!!关键给键盘设置辅助视图

textfield2.inputAccessoryView = grayView;

textfield3.inputAccessoryView = grayView;

//注意!!!!!!在这里我们用数组来接收1-9的值

NSArray * array = @[@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"×",@"0",@"return"];

//X号操作删除最后一个字符

//return 收回键盘

NSInteger index=0;

//设置每一行走的次数

for (int i = 0; i4; i++) {

//设置每一趟走的次数

for (int j = 0; j3; j++) {

//数组按钮的颜色

button.backgroundColor = [UIColor whiteColor];

//数组按钮上的文字

[button setTitle:array[index] forState:UIControlStateNormal];

index++;//将数组的元素进行累加统计

//设置字体颜色

[button setTitleColor:[UIColor purpleColor] forState:UIControlStateNormal];

//加粗字体

button.titleLabel.font = [UIFont boldSystemFontOfSize:20];

//设置边框的颜色

button.layer.borderColor = [UIColor grayColor].CGColor;

//设置边框的宽度

button.layer.borderWidth = 3;

//设置1-9的数字方法

if (i3) {

[button addTarget:self action:@selector(b1Action:) forControlEvents:UIControlEventTouchUpInside];

}

else if(i == 3 j == 0){

//叉号 用来删除字符

[button addTarget:self action:@selector(deleteChar:) forControlEvents:UIControlEventTouchUpInside];

}

-(void)b1Action:(UIButton *)b1{

//点击当前按钮 就把按钮上的文字 拼接到输入框中

//1.获取输入框

}

-(void)deleteChar:(UIButton *)button{

}

-(void)takeBackKeyboard:(UIButton *)button{

UITextField *textField2 = (UITextField *) [self.view viewWithTag:222];

//释放第一响应者 也就是收回键盘

if (textField2.isFirstResponder == YES) {

[textField2 resignFirstResponder];}

}

效果如图:

iOS键盘工具条自定义

在iOS中使用UITextField控件时会弹出软键盘,此时默认在软键盘上方会出现一个工具条,一般默认工具条有两种样式。

可以设置info.plist文件的Localization native development region项为cn,此时运行会发现工具条的Done已经变成了完成。

本人在项目中有用到 IQKeyboardManager 来增强键盘的功能,如果使用了这个轮子,设置

此时键盘的工具条即被隐藏。

第二种方法我使用了UITextField的inputAccessoryView属性,可以给该属性设置一个高度为0的View,也可以达到隐藏键盘工具条的效果

跟隐藏工具条中的第二种方法一样,给inputAccessoryView属性设置一个自定义的View,即达到自定义效果,此处把工具条改成红色作为演示

运行效果如下:

iOS 自定义键盘

自定义键盘属于App的扩展功能,添加扩展键盘的步骤如下:

选择自定义扩展键盘,点击Next,会自动创建一个父类是UIInputViewController 的KeyboardViewController文件。

要想app应用和扩展进行通讯,需要创建Appgroup通道,创建方法如下图所示

同样在Targets 下的 app选中也要用同样的方法创建传送通道,app和扩展才可以传递数据。

下面就是画键盘了,键盘可以用xib创建,下面就是我创建的键盘

下面就是监听button点击,进行大小写切换,删除输入等功能。

大小写切换可以自定义一个方法,然后根据传入的是否大写或者小写,返回数组内容,重新给button赋值

监听内容输入到输入框,系统有自己的方法。 

"[weakSelf.textDocumentProxyinsertText:content];”

就可以进行监听输入的内容了

iOS自定义数字+-键盘

平常项目中有可能会遇到系统或者第三方键盘不满足于需求,我们就只能自定义键盘来满足产品的奇奇怪怪需求

如图:

1、 LAKeyboardDefine.h

2、通过设置颜色返回图片的分类 UIImage+LAColor

3、获取 UITextField 光标的分类 UITextField+LARange


本文名称:ios开发自定义键盘,ios开发自定义键盘模式
文章出自:http://hbruida.cn/article/dssdeoe.html