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

 我来答
匿名用户
2017-05-30
展开全部
//初始化textfield并设置位置及 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]; //设置边框式设置才显示边框式 text按钮 支持URL字符UIKeyboardTypeNumberPad, 数字键盘UIKeyboardTypePhonePad, 电键盘 UIKeyboardTypeNamePhonePad, 电键盘支持输入名UIKeyboardTypeEmailAddress, 用于输入电 邮件址键盘 UIKeyboardTypeDecimalPad, 数字键盘 数字数点 UIKeyboardTypeTwitter, 优化键盘便输入@、#字符 UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable, } UIKeyboardType; //首字母否写 text.autocapitalizationType = UITextAutocapitalizationTypeNone; typedef enum { UITextAutocapitalizationTypeNone, 自写 UITextAutocapitalizationTypeWords, 单词首字母写 UITextAutocapitalizationTypeSentences, 句首字母写 UITextAutocapitalizationTypeAllCharacters, 所字母都写} UITextAutocapitalizationType; //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; //键盘外观textView.keyboardAppearance=UIKeyboardAppearanceDefault;typedef enum {UIKeyboardAppearanceDefault 默认外观浅灰色UIKeyboardAppearanceAlert 深灰 石墨色 } UIReturnKeyType;//设置代理 用于实现协议 text.delegate = self; //textfield加视图 [self.window addSubview:text]; //右侧加图片代码 左侧类似 UIImageView *image=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"right.png"]]; text.rightView=image; text.rightViewMode = UITextFieldViewModeAlways; typedef enum { UITextFieldViewModeNever, UITextFieldViewModeWhileEditing, UITextFieldViewModeUnlessEditing, UITextFieldViewModeAlways} UITextFieldViewMode;//按return键键盘往收 becomeFirstResponder 类要采用UITextFieldDelegate协议 text.delegate = self; 声明text代理我我实现键盘往收 UITextFieldDelegate所我要采用UITextFieldDelegate协议 - (BOOL)textFieldShouldReturn:(UITextField *)textField{ [text resignFirstResponder]; //主要[receiver resignFirstResponder]哪调用能receiver应键盘往收 return YES;}重写绘制行除UITextField象风格选项定制化UITextField象添加许同重写改变文本字段显示行些都返CGRect结构制定文本字段每部件边界范围都重写 – textRectForBounds:   //重写重置文字区域– drawTextInRect:   //改变绘文字属性.重写调用super按默认图形属性绘制,若自完全重写绘制函数用调用super.– placeholderRectForBounds:  //重写重置占位符区域– drawPlaceholderInRect:  //重写改变绘制占位符属性.重写调用super按默认图形属性绘制,若自完全重写绘制函数用调用super.– borderRectForBounds:  //重写重置边缘区域– editingRectForBounds:  //重写重置编辑区域– clearButtonRectForBounds:  //重写重置clearButton位置,改变size能导致button图片失真– leftViewRectForBounds:– rightViewRectForBounds: 委托 - (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; }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式