当前位置:首页 > 代码 > 正文

iOS自定义键盘代码(ios拨号键盘代码)

admin 发布:2022-12-19 18:55 214


今天给各位分享iOS自定义键盘代码的知识,其中也会对ios拨号键盘代码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

iOS自定义数字+-键盘

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

如图:

1、 LAKeyboardDefine.h

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

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

苹果手机怎么自定义键盘

苹果手机键盘设置成九键键盘步骤如下:

1、首先打开手机设置。

2、在设置里打开通用。

3、在通用里打开键盘。

4、再次点击“键盘”一栏,然后点击简体中文-拼音。

5、在简体中文—拼音中勾选九宫格。

6、打开中文输入法后就变成了九宫格。这样就解决了苹果手机键盘怎么设置成九键键盘的问题。

IOS-OC 自定义数字键盘

//键盘的高度

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 自定义键盘

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

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

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

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

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

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

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

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

"[weakSelf.textDocumentProxyinsertText:content];”

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

iOS之UITextField怎么自定义键盘的return键

//初始化textfield并设置位置及大小

UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]; 11

//设置边框样式,只有设置了才会显示边框样式

text.borderStyle = UITextBorderStyleRoundedRect;

typedef enum { UITextBorderStyleNone,

UITextBorderStyleLine,

UITextBorderStyleBezel,

UITextBorderStyleRoundedRect } UITextBorderStyle; 1234512345

//设置输入框的背景颜色,此时设置为白色 如果使用了自定义的背景图片边框会被忽略掉text.backgroundColor = [UIColor whiteColor];

//设置背景

text.background = [UIImage imageNamed:@"dd.png"];

//设置背景

text.disabledBackground = [UIImage imageNamed:@"cc.png"];

//当输入框没有内容时,水印提示 提示内容为password

text.placeholder = @"password";

//设置输入框内容的字体样式和大小

text.font = [UIFont fontWithName:@"Arial" size:20.0f];

//设置字体颜色

text.textColor = [UIColor redColor];

//输入框中是否有个叉号,在什么时候显示,用于一次性删除输入框中的内容

text.clearButtonMode = UITextFieldViewModeAlways;

typedef enum { UITextFieldViewModeNever, 重不出现

UITextFieldViewModeWhileEditing, 编辑时出现

UITextFieldViewModeUnlessEditing, 除了编辑外都出现

UITextFieldViewModeAlways 一直出现} UITextFieldViewMode;1234512345

//输入框中一开始就有的文字

text.text = @"一开始就在输入框的文字";

//每输入一个字符就变成点 用语密码输入

text.secureTextEntry = YES;

//是否纠错

text.autocorrectionType = UITextAutocorrectionTypeNo;

typedef enum { UITextAutocorrectionTypeDefault, 默认

UITextAutocorrectionTypeNo, 不自动纠错

UITextAutocorrectionTypeYes, 自动纠错} UITextAutocorrectionType; 12341234

//再次编辑就清空

text.clearsOnBeginEditing = YES;

//内容对齐方式

text.textAlignment = UITextAlignmentLeft;

//内容的垂直对齐方式 UITextField继承自UIControl,此类中有一个属性contentVerticalAlignment text.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;

//设置为YES时文本会自动缩小以适应文本窗口大小.默认是保持原来大小,而让长文本滚动textFied.adjustsFontSizeToFitWidth = YES;

//设置自动缩小显示的最小字体大小

text.minimumFontSize = 20;

//设置键盘的样式

text.keyboardType = UIKeyboardTypeNumberPad;

typedef enum { UIKeyboardTypeDefault, 默认键盘,支持所有字符

UIKeyboardTypeASCIICapable, 支持ASCII的默认键盘

UIKeyboardTypeNumbersAndPunctuation, 标准电话键盘,支持+*#字符

UIKeyboardTypeNumberPad, 数字键盘UIKeyboardTypePhonePad, 电话键盘

UIKeyboardTypeNamePhonePad, 电话键盘,也支持输入人名

UIKeyboardTypeEmailAddress, 用于输入电子 邮件地址的键盘

UIKeyboardTypeDecimalPad, 数字键盘 有数字和小数点

UIKeyboardTypeTwitter, 优化的键盘,方便输入@、#字符

UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable, }UIKeyboardType; 1234567891012345678910

//首字母是否大写

text.autocapitalizationType = UITextAutocapitalizationTypeNone;

typedef enum { UITextAutocapitalizationTypeNone, 不自动大写

UITextAutocapitalizationTypeWords, 单词首字母大写

UITextAutocapitalizationTypeSentences, 句子的首字母大写

UITextAutocapitalizationTypeAllCharacters, 所有字母都大写}

UITextAutocapitalizationType;123456123456

//return键变成什么键

text.returnKeyType =UIReturnKeyDone;

typedef enum { UIReturnKeyDefault, 默认 灰色按钮,标有Return

UIReturnKeyGo, 标有Go的蓝色按钮

UIReturnKeyGoogle,标有Google的蓝色按钮,用语搜索

UIReturnKeyJoin,标有Join的蓝色按钮

UIReturnKeyNext,标有Next的蓝色按钮

UIReturnKeyRoute,标有Route的蓝色按钮

UIReturnKeySearch,标有Search的蓝色按钮

UIReturnKeySend,标有Send的蓝色按钮

UIReturnKeyYahoo,标有Yahoo的蓝色按钮

UIReturnKeyYahoo,标有Yahoo的蓝色按钮

UIReturnKeyEmergencyCall, 紧急呼叫按钮} UIReturnKeyType;123456789101112123456789101112

//键盘外观

textView.keyboardAppearance=UIKeyboardAppearanceDefault;

typedef enum {UIKeyboardAppearanceDefault, 默认外观,浅灰色

UIKeyboardAppearanceAlert, 深灰 石墨色 } UIReturnKeyType;123123

//设置代理 用于实现协议

text.delegate = self;

//最右侧加图片是以下代码

左侧类似

UIImageView *image=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"right.png"]];

text.rightView=image;

text.rightViewMode = UITextFieldViewModeAlways;

typedef enum { UITextFieldViewModeNever,

UITextFieldViewModeWhileEditing,

UITextFieldViewModeUnlessEditing,

UITextFieldViewModeAlways} UITextFieldViewMode;12345671234567

//按return键键盘往下收 becomeFirstResponder 类要采用UITextFieldDelegate协议 text.delegate = self; 声明text的代理是我,我会去实现把键盘往下收的方法 这个方法在UITextFieldDelegate里所以我们要采用UITextFieldDelegate这个协议

- (BOOL)textFieldShouldReturn:(UITextField *)textField{

[text resignFirstResponder];

//主要是[receiver resignFirstResponder]在哪调用就能把receiver对应的键盘往下收

return YES;

}1234512345

重写绘制行为除了UITextField对象的风格选项,你还可以定制化UITextField对象,为他添加许多不同的重写方法,来改变文本字段的显示行为。这些方法都会返回一个CGRect结构,制定了文本字段每个部件的边界范围。以下方法都可以重写。

– textRectForBounds: //重写来重置文字区域

– drawTextInRect: //改变绘文字属性.重写时调用super可以按默认图形属性绘制,若自己完全重写绘制函数,就不用调用super了.

– placeholderRectForBounds://重写来重置占位符区域

– drawPlaceholderInRect://重写改变绘制占位符属性.重写时调用super可以按默认图形属性绘制,若自己完全重写绘制函数,就不用调用super了.

– borderRectForBounds://重写来重置边缘区域

– editingRectForBounds://重写来重置编辑区域

– clearButtonRectForBounds://重写来重置clearButton位置,改变size可能导致button的图片失真

– leftViewRectForBounds:

– rightViewRectForBounds:

123456789101112131415161718123456789101112131415161718

委托方法

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{

//返回一个BOOL值,指定是否循序文本字段开始编辑

return YES;

}

- (void)textFieldDidBeginEditing:(UITextField *)textField{

//开始编辑时触发,文本字段将成为first responder

}

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField{

//返回BOOL值,指定是否允许文本字段结束编辑,当编辑结束,文本字段会让出first responder

//要想在用户结束编辑时阻止文本字段消失,可以返回NO

//这对一些文本字段必须始终保持活跃状态的程序很有用,比如即时消息

return NO;

}

- (BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{

//当用户使用自动更正功能,把输入的文字修改为推荐的文字时,就会调用这个方法。

//这对于想要加入撤销选项的应用程序特别有用

//可以跟踪字段内所做的最后一次修改,也可以对所有编辑做日志记录,用作审计用途。

//要防止文字被改变可以返回NO

//这个方法的参数中有一个NSRange对象,指明了被改变文字的位置,建议修改的文本也在其中

return YES;

}

- (BOOL)textFieldShouldClear:(UITextField *)textField{

//返回一个BOOL值指明是否允许根据用户请求清除内容

//可以设置在特定条件下才允许清除内容

return YES;

}

- (BOOL)textFieldShouldReturn:(UITextField *)textField{

//返回一个BOOL值,指明是否允许在按下回车键时结束编辑

//如果允许要调用resignFirstResponder 方法,这回导致结束编辑,而键盘会被收起[textField resignFirstResponder];

//查一下resign这个单词的意思就明白这个方法了

return YES;

}

关于iOS自定义键盘代码和ios拨号键盘代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/18834.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载