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


相关推荐: ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  用yum安装MySQLdb模块的步骤方法  简历没回改:利用AI润色让你的文字更专业  如何在新浪SAE免费搭建个人博客?  Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】  个人网站制作流程图片大全,个人网站如何注销?  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  javascript读取文本节点方法小结  Mybatis 中的insertOrUpdate操作  🚀拖拽式CMS建站能否实现高效与个性化并存?  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践  南京网站制作费用,南京远驱官方网站?  如何在IIS7上新建站点并设置安全权限?  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  高性价比服务器租赁——企业级配置与24小时运维服务  桂林网站制作公司有哪些,桂林马拉松怎么报名?  Laravel如何处理表单验证?(Requests代码示例)  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  php结合redis实现高并发下的抢购、秒杀功能的实例  如何用PHP快速搭建CMS系统?  Laravel观察者模式如何使用_Laravel Model Observer配置  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  JavaScript实现Fly Bird小游戏  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  魔毅自助建站系统:模板定制与SEO优化一键生成指南  想要更高端的建设网站,这些原则一定要坚持!  专业商城网站制作公司有哪些,pi商城官网是哪个?  Python面向对象测试方法_mock解析【教程】  晋江文学城电脑版官网 晋江文学城网页版直接进入  如何用wdcp快速搭建高效网站?  Laravel怎么在Controller之外的地方验证数据  html如何与html链接_实现多个HTML页面互相链接【互相】  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  如何用搬瓦工VPS快速搭建个人网站?  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  如何快速搭建高效WAP手机网站?  如何用花生壳三步快速搭建专属网站?  如何快速搭建二级域名独立网站?  Bootstrap整体框架之CSS12栅格系统  如何在企业微信快速生成手机电脑官网?  如何快速上传建站程序避免常见错误?  iOS中将个别页面强制横屏其他页面竖屏  清除minerd进程的简单方法  如何在七牛云存储上搭建网站并设置自定义域名?  Android中AutoCompleteTextView自动提示  Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  C语言设计一个闪闪的圣诞树