UIKeyboardTypeNumberPad 数字键盘添加完成按钮

一:添加通知

 //数字键盘添加完成

    [[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(keyboardWillShow:) name:UIKeyboardDidShowNotificationobject:nil];

二:数字键盘出现添加

//键盘处理
- (void)keyboardWillShow:(NSNotification *)note
{
    UIButton *doneButton = [UIButton buttonWithType:UIButtonTypeCustom];
    doneButton.frame = CGRectMake(15, 172, 65, 35);
    //doneButton.frame = CGRectMake(8, 163, 50, 30);
 
    //[doneButton setTitle:@"完成" forState:UIControlStateNormal];
    [doneButton setBackgroundImage:[UIImage imageNamed:@"pickerBackIMG.png"] forState:UIControlStateNormal];
    [doneButton addTarget:self action:@selector(doneBtn) forControlEvents:UIControlEventTouchUpInside];
     
    UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1];
    UIView* keyboard;
    for(int i=0; i<[tempWindow.subviews count]; i++) {
        keyboard = [tempWindow.subviews objectAtIndex:i];
        // keyboard view found; add the custom button to it
        if(([[keyboard description] hasPrefix:@"<UIPeripheralHostView"] == YES) ||(([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES)))
                [keyboard addSubview:doneButton];
    }
}
 
- (void)doneBtn
{
    [phoneNumTextField resignFirstResponder];
 
}

  三:移除通知

- (void)dealloc

{

    [[NSNotificationCenterdefaultCenter]removeObserver:selfname:UIKeyboardDidShowNotificationobject:nil];

    [kDatePickerrelease];

    [super dealloc];

}

posted @   cocoajin  阅读(1109)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示