iOS键盘如何添加隐藏键盘功能

2025-05-29 0 65

本文实例为大家分享了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。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 iOS键盘如何添加隐藏键盘功能 https://www.kuaiidc.com/89222.html

相关文章

发表评论
暂无评论