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优化一键生成指南

