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站长 原创,转载请注明出处和附带本文链接;
相关推荐
- 05-03禅道源代码与一键有什么区别(禅道开源版怎么样)[20240503更新]
- 05-03黄金矿工安桌源代码(黄金矿工编程代码)[20240503更新]
- 05-03淘宝宝贝首页分类代码(淘宝代码大全)[20240503更新]
- 05-03易语言键盘代码在线查询(易语言键代码怎么使用)[20240503更新]
- 05-03包厢代码(饭店包厢号)[20240503更新]
- 05-03安卓网页代码编辑软件(安卓平台代码编辑器)[20240503更新]
- 05-03垂直多级导航菜单代码(菜单导航栏的代码)[20240503更新]
- 05-03织梦首页下一页代码(织梦搜索框代码)[20240503更新]
- 05-03网页切换图片代码(网页图片切换怎么做)[20240503更新]
- 05-03jquery网站代码(jquery操作html代码)[20240503更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接