iOS8数字键盘左下角添加完成按钮
2014-09-18 10:06
330 查看
iOS8数字键盘左下角添加完成按钮的核心代码如下:
注:
1.iOS8之后,键盘view的description变为以<UIInputSetContainerView开头,所以需要在判断的逻辑中加上这一项。
2.iOS8之后,键盘view的大小变成了整个屏幕的大小,所以需要对按钮添加的位置进行适配。
- (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]; } } } } }
注:
1.iOS8之后,键盘view的description变为以<UIInputSetContainerView开头,所以需要在判断的逻辑中加上这一项。
2.iOS8之后,键盘view的大小变成了整个屏幕的大小,所以需要对按钮添加的位置进行适配。
相关文章推荐
- iOS8数字键盘左下角添加完成按钮的核心代码如下:
- ios隐藏数字键盘 --在数字键盘左下角添加“完成”按钮的实现原理
- 数字键盘添加“完成”按钮
- ios在数字键盘左下角添加“完成”按钮的实现原理
- iOS8 数字键盘添加自定义按钮(兼容各个版本以及解决自定义按钮滑动出现的问题)
- UIKeyboardTypeNumberPad 数字键盘添加完成按钮
- (判断第三方输入法)在系统数字键盘上添加“完成”按钮引发的问题思考
- ios在数字键盘左下角添加“完成”按钮的实现原理
- 给数字键盘添加完成按钮的坑
- ios8数字键盘添加完成
- IOS数字键盘左下角添加完成按钮的实现方法
- iOS 数字输入键盘添加一个完成按钮
- textview 弹出键盘上面添加完成按钮,并设置输入内容的格式。
- 为数字键盘添加自定义按钮的方法(iOS所有版本适用
- ios在 键盘左下角添加“完成”按钮的实现原理
- textView 弹出键盘上面添加完成按钮,并设置输入内容的格式。
- UITextField清除按钮的模式、关闭自动纠错单词、关闭自动首字母大写、数字键盘上加一个完成按钮
- iOS 之给苹果自带的纯数字键盘添加完成事件
- 数字键盘添加自定义按钮(转自cocoachina)
- 1怎样让输入的text文本填写的部分只添加数字、2怎样将输入的数字一次性全部删除 3怎样选择密码 让它不显示 4 怎样实现在没有return的情况下点击button的情况下就能够使键盘页面下落5 怎样实现点击指定的button来对使指定的text进行键盘弹出 6怎样改变button按钮的状态