您的位置:首页 > 移动开发 > IOS开发

iOS 数字输入键盘添加一个完成按钮

2014-11-21 13:29 495 查看
1.添加监听事件:

[[NSNotificationCenter defaultCenter]addObserver:self

selector:@selector(addDoneButtonToNumPadKeyboard)

name:UIKeyboardDidShowNotification

object:nil];

2.实现方法:

- (void)addDoneButtonToNumPadKeyboard

{

UIButton *doneButton = [UIButton buttonWithType:UIButtonTypeCustom];

if ([[[[UIDevice currentDevice] systemVersion] substringToIndex:1] intValue] < 8.0)

{

doneButton.frame = CGRectMake(0, 163, 106, 53);

}

else

{

doneButton.frame = CGRectMake(0, ScreenHeight-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)doneButton:(UIButton *)btn

{

NSLog(@"keyboard......");

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐