大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。
iOS8数字键盘加左下角完成button的核心代码如下面:
- (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的大小变成了整个屏幕的大小。所以须要对button加入的位置进行适配。
版权声明:本文博主原创文章,博客,未经同意不得转载。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/116821.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...