IOS数字键盘左下角添加完成按钮的实现方法

发布时间 - 2026-01-11 02:56:37    点击率:

IOS数字键盘左下角添加完成按钮的实现方法

实现代码:

- (void)addDoneButtonToNumPadKeyboard 
{ 
  UIButton *doneButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
  if (systemVersion < 8.0){ 
    doneButton.frame = CGRectMake(0, 163, 106, 53); 
  }else{ 
    doneButton.frame = CGRectMake(0, SCREEN_SIZE.height-53, 106, 53); 
  } 
  doneButton.tag = NUM_PAD_DONE_BUTTON_TAG; 
  doneButton.adjustsImageWhenHighlighted = NO; 
  [doneButton setTitle:@"完成" forState:UIControlStateNormal]; 
  [doneButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; 
  [doneButton addTarget:self action:@selector(doneButton:) forControlEvents:UIControlEventTouchUpInside]; 
   
  NSArray *windowArr = [[UIApplication sharedApplication] windows]; 
  if (windowArr != nil && windowArr.count > 1){ 
    UIWindow *needWindow = [windowArr objectAtIndex:1]; 
    UIView *keyboard; 
    for(int i = 0; i < [needWindow.subviews count]; i++) { 
      keyboard = [needWindow.subviews objectAtIndex:i]; 
      NSLog(@"%@", [keyboard description]); 
      if(([[keyboard description] hasPrefix:@"<UIPeripheralHostView"] == YES) || ([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES) || ([[keyboard description] hasPrefix:@"<UIInputSetContainerView"] == YES)){ 
         
        UIView *doneButtonView = [keyboard viewWithTag:NUM_PAD_DONE_BUTTON_TAG]; 
        if (doneButtonView == nil){ 
          [keyboard addSubview:doneButton]; 
        } 
      } 
    } 
  } 
} 
 
-(void)removeDoneButtonFromNumPadKeyboard 
{ 
  UIView *doneButton = nil; 
 
  NSArray *windowArr = [[UIApplication sharedApplication] windows]; 
  if (windowArr != nil && windowArr.count > 1){ 
    UIWindow *needWindow = [windowArr objectAtIndex:1]; 
    UIView *keyboard; 
    for(int i = 0; i < [needWindow.subviews count]; i++) { 
      keyboard = [needWindow.subviews objectAtIndex:i]; 
      if(([[keyboard description] hasPrefix:@"<UIPeripheralHostView"] == YES) || ([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES) || ([[keyboard description] hasPrefix:@"<UIInputSetContainerView"] == YES)){ 
        doneButton = [keyboard viewWithTag:NUM_PAD_DONE_BUTTON_TAG]; 
        if (doneButton != nil){ 
          [doneButton removeFromSuperview]; 
        } 
      } 
    } 
  } 
} 


以上就是IOS数字键盘左下角添加完成按钮的实现方法,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# IOS数字键盘左下角添加完成按钮  # IOS  # 8实现数字键盘的完成按钮  # iOS应用开发中监听键盘事件的代码实例小结  # iOS中的UIKeyboard键盘视图使用方法小结  # iOS实现输入框跟随键盘自动上移的实例代码  # iOS中键盘 KeyBoard 上添加工具栏的方法  # iOS项目开发键盘弹出遮挡输入框问题解决方案  # h5 ios输入框和键盘的兼容性优化指南  # iOS开发第三方键盘处理实例代码  # iOS自定义键盘切换效果  # iOS中只让textField使用键盘通知的实例代码  # iOS自定义身份证键盘  # 如有  # 希望能  # 谢谢大家  # 疑问请  # SCREEN_SIZE  # height  # tag  # CGRectMake  # NUM_PAD_DONE_BUTTON_TAG  # setTitleColor  # UIColor  # blackColor  # UIControlStateNormal  # adjustsImageWhenHighlighted  # setTitle  # forState  # frame  # brush  # cpp  # void 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何实现javascript表单验证_正则表达式有哪些实用技巧  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  Laravel怎么使用Intervention Image库处理图片上传和缩放  Windows Hello人脸识别突然无法使用  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  Win11怎样安装网易有道词典_Win11安装词典教程【步骤】  如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)  EditPlus中的正则表达式 实战(4)  动图在线制作网站有哪些,滑动动图图集怎么做?  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  javascript基本数据类型及类型检测常用方法小结  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  Laravel定时任务怎么设置_Laravel Crontab调度器配置  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  Laravel PHP版本要求一览_Laravel各版本环境要求对照  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  如何在橙子建站中快速调整背景颜色?  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  Java类加载基本过程详细介绍  如何有效防御Web建站篡改攻击?  Android实现代码画虚线边框背景效果  Laravel怎么实现模型属性的自动加密  如何快速使用云服务器搭建个人网站?  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  Laravel如何使用Sanctum进行API认证?(SPA实战)  Python3.6正式版新特性预览  ,在苏州找工作,上哪个网站比较好?  如何在IIS管理器中快速创建并配置网站?  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层  Swift开发中switch语句值绑定模式  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  如何在腾讯云服务器快速搭建个人网站?  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】  如何在阿里云购买域名并搭建网站?  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  C语言设计一个闪闪的圣诞树  googleplay官方入口在哪里_Google Play官方商店快速入口指南  Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置  详解CentOS6.5 安装 MySQL5.1.71的方法  黑客如何通过漏洞一步步攻陷网站服务器?  Laravel如何实现API版本控制_Laravel版本化API设计方案  魔毅自助建站系统:模板定制与SEO优化一键生成指南