完美实现自定义软键盘.docVIP

  • 2
  • 0
  • 约3.08千字
  • 约 5页
  • 2017-01-05 发布于贵州
  • 举报
完美实现自定义软键盘

感谢alan转载的文章给的灵感。 /bbs/read.php?tid-3999.html 思路: 1.用静态方法找到应用程序当前view(window)中的UIKeyboard的view 2.在键盘的view上帖上自己的view,(精彩了,这个自己的view就是你自己键盘,任意发挥,什么类型键盘都可以做了) 3.根据需要调整系统键盘的大小以满足你想要的尺寸 4.给自己的键盘view上的button添加方法,实现功能 主要代码: 添加自身类为键盘事件的观察者 复制代码 [[NSNotificationCenter defaultCenter] addObserver:self ???????????????????????????????????????????? selector:@selector(keyboardWillShow:) ???????????????????????????????????????????????? name:UIKeyboardWillShowNotification ?????????????????????????????????????????????? object:nil]; 核心思路代码: 复制代码 - (void)keyboardWillShow:(NSNotification *)note {?? ????UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1];//知识点 ????for(int i=0; i[tempWindow.subviews count]; i++) ????{ ????????keyboard = [tempWindow.subviews objectAtIndex:i]; ????????if([[keyboard description] hasPrefix:@UIKeyboard] == YES) ????????{ ????????????[keyboard setFrame:CGRectMake(0, 460, 320, 345)]; ????????????[self congfigKeypad]; ???????????? ????????????[keyboard addSubview:keyPadView1]; ???????????? ????????} ????} } 比如配置方法可以是这样: 复制代码 -(void)congfigKeypad { ?? SearBtn *one = [[SearBtn alloc] initWithFrame:CGRectMake(81, 3, kNumPadW, kNumPadH) index:1 ContextString:@1 type:kNumPadType]; ????[one setImage:[UIImage imageNamed:@1.png] forState:UIControlStateNormal]; ????[one addTarget:self action:@selector(buttonClickAtIndex:) forControlEvents:UIControlEventTouchUpInside]; ????????//......略 } 添加NSMutalbeString作为文本域字串的容器,点击button后append的button对应的字串。 复制代码 - (void)buttonClickAtIndex:(id)sender { ????SearBtn *btnItem = (SearBtn*)sender; ????NSString *str = btnItem-btnText; ????[s_text appendString:str]; ????[sBar setText:s_text]; } ; 再实现一个deleteChar的方法作为退格键 思路: 复制代码 if ([s_text length] 0) ????{ ????????NSRange rang; ????????rang.location = [s_text length] - 1; ????????rang.length = 1; ????????[s_text deleteCharactersInRange:rang]; ????} 现在点击各种文本域,应该就可以现实自己的键盘了。 继续优化 用textfield的代理方法控制键盘的字串类型,长度,和响应消失 [ 此帖被evangel在2009-12-17 22:3

文档评论(0)

1亿VIP精品文档

相关文档