本文实例为大家分享了iOS添加隐藏键盘功能的具体方法,供大家参考,具体内容如下
使用方法:导入XMCustomKeyBoard.h
[XMCustomKeyBoard CancelableKeyboard:控件对象 ];
控件对象可以是UITextFiled,UITextView,UISearchBar 等一系列调用键盘输入的类的实例
1.自定义个UIBarButtonItem,添加属性editableView,editableView存储需要添加隐藏键盘功能的那个控件
?
|
1
2
3
4
5
6
|
#import <UIKit/UIKit.h>
@interface XMCustomKeyBoardBtn : UIBarButtonItem
@property (strong, nonatomic) id editableView;
@end
|
?
|
1
2
3
4
5
6
|
#import "XMCustomKeyBoardBtn.h"
@implementation XMCustomKeyBoardBtn
@end
|
2.自定义个UIView,因为只有UIView的子类才可以添加进keyWindow,想动态绑定这个类定义的方法,就必须让这个类保持活跃。
?
|
1
2
3
4
5
6
7
8
9
10
11
12
|
#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.通过传进来的控件为其在键盘工具栏添加一个隐藏键盘的按钮并动态绑定一个隐藏键盘的方法
?
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
#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
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持快网idc。
相关文章
猜你喜欢
- 64M VPS建站:能否支持高流量网站运行? 2025-06-10
- 64M VPS建站:怎样选择合适的域名和SSL证书? 2025-06-10
- 64M VPS建站:怎样优化以提高网站加载速度? 2025-06-10
- 64M VPS建站:是否适合初学者操作和管理? 2025-06-10
- ASP.NET自助建站系统中的用户注册和登录功能定制方法 2025-06-10
TA的动态
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
您的支持,是我们最大的动力!
热门文章
-
2025-06-04 77
-
如何在Magento电子商务网站中设置PayPal支付方式?
2025-05-25 42 -
2025-05-27 87
-
2025-06-04 45
-
PHP将MySQL的查询结果转换为数组并用where拼接的示例
2025-05-29 77
热门评论

