这篇文章主要为大家详细介绍了iOS键盘如何添加隐藏键盘功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了iOS添加隐藏键盘功能的具体方法,供大家参考,具体内容如下
键盘添加个隐藏键盘功能
使用方法:导入XMCustomKeyBoard.h
[XMCustomKeyBoard CancelableKeyboard:控件对象 ];
控件对象可以是UITextFiled,UITextView,UISearchBar 等一系列调用键盘输入的类的实例
1.自定义个UIBarButtonItem,添加属性editableView,editableView存储需要添加隐藏键盘功能的那个控件
#import <UIKit/UIKit.h>
@interface XMCustomKeyBoardBtn : UIBarButtonItem
@property (strong, nonatomic) id editableView;
@end
#import "XMCustomKeyBoardBtn.h"
@implementation XMCustomKeyBoardBtn
@end
2.自定义个UIView,因为只有UIView的子类才可以添加进keyWindow,想动态绑定这个类定义的方法,就必须让这个类保持活跃。
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "XMCustomKeyBoardBtn.h"
@interface XMCustomKeyBoard : UIView
+ (void) CancelableKeyboard:(id) editableView;
+ (void) CancelableKeyboard:(id) editableView CustomButtonItem:(UIBarButtonItem *)btn;
@end
3.通过传进来的控件为其在键盘工具栏添加一个隐藏键盘的按钮并动态绑定一个隐藏键盘的方法
#import "XMCustomKeyBoard.h"
@implementation XMCustomKeyBoard
+ (void) CancelableKeyboard:(id) editableView{
XMCustomKeyBoard *custom = [[XMCustomKeyBoard alloc] initWithFrame:CGRectMake(0,-999,10,10)];
[[UIApplication sharedApplication].keyWindow addSubview:custom];
[editableView setInputAccessoryView:[self CancelableKeyboardToolBar:editableView addTarget:custom]];
}
+ (void) CancelableKeyboard:(id) editableView CustomButtonItem:(UIBarButtonItem *)btn {
XMCustomKeyBoard *custom = [[XMCustomKeyBoard alloc] initWithFrame:CGRectMake(0,-10,10,10)];
[[UIApplication sharedApplication].keyWindow addSubview:custom];
[editableView setInputAccessoryView:[self CancelableKeyboardToolBar:editableView CustomButtonItem:btn addTarget:custom]];
}
+ (UIToolbar *)CancelableKeyboardToolBar:(id) editableView CustomButtonItem:(UIBarButtonItem *)btn addTarget:(id) target
{
UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth([UIApplication sharedApplication].keyWindow.frame), 40)];
toolbar.backgroundColor = [UIColor lightGrayColor];
UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithTitle:@" " style:UIBarButtonItemStylePlain target:editableView action:@selector(onClick)];
[button setWidth:[UIApplication sharedApplication].keyWindow.frame.size.width - btn.width];
XMCustomKeyBoardBtn *button1 = (XMCustomKeyBoardBtn *)btn;
button1.target = target;
button1.action = @selector(CancelableKeyboard:);
button1.editableView = editableView;
[toolbar setItems:@[button,button1]];
return toolbar;
}
+ (UIToolbar *)CancelableKeyboardToolBar:(id) editableView addTarget:(id) target
{
UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth([UIApplication sharedApplication].keyWindow.frame), 40)];
toolbar.backgroundColor = [UIColor lightGrayColor];
UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithTitle:@" " style:UIBarButtonItemStylePlain target:editableView action:@selector(onClick)];
[button setWidth:[UIApplication sharedApplication].keyWindow.frame.size.width - 50];
XMCustomKeyBoardBtn *button1 = [[XMCustomKeyBoardBtn alloc] initWithTitle:@"隐藏键盘" style:UIBarButtonItemStyleBordered target:target action:@selector(CancelableKeyboard:)];
button1.editableView = editableView;
[button1 setWidth:50];
[toolbar setItems:@[button,button1]];
return toolbar;
}
-(void)CancelableKeyboard:(XMCustomKeyBoardBtn *) btn{
[btn.editableView resignFirstResponder];
}
-(void) onClick{
}
@end
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程学习网。/p>
织梦狗教程
本文标题为:iOS键盘如何添加隐藏键盘功能
基础教程推荐
猜你喜欢
- IOS应用内跳转系统设置相关界面的方法 2022-11-20
- Android中的webview监听每次URL变化实例 2023-01-23
- IOS 播放系统提示音使用总结(AudioToolbox) 2023-03-01
- Flutter绘图组件之CustomPaint使用详解 2023-05-12
- iOS开发教程之XLForm的基本使用方法 2023-05-01
- android studio按钮监听的5种方法实例详解 2023-01-12
- 解决Android Studio突然不显示logcat日志的问题 2023-02-04
- Flutter手势密码的实现示例(附demo) 2023-04-11
- Android多返回栈技术 2023-04-15
- Android开发使用RecyclerView添加点击事件实例详解 2023-06-15
