IOS数字键盘左下角添加完成按钮的实现方法

时间:2023-01-05 08:23:42

IOS数字键盘左下角添加完成按钮的实现方法

实现代码:

?
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
- (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];
        }
      }
    }
  }
}

以上就是IOS数字键盘左下角添加完成按钮的实现方法,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

原文链接:http://blog.csdn.net/mmoaay/article/details/39368081