iOS软键盘当被遮挡时,自动弹起,点击return时隐藏软键盘,点击外部UIView时,隐藏软键盘
2013-07-18 09:51
295 查看
1、首先要实现
UITextFieldDelegate
2、实现其方法
//开始编辑输入框的时候,软键盘出现,执行此事件
- (void)textFieldDidBeginEditing:(UITextField *)textField{
NSLog(@"开始编辑输入框的时候,软键盘出现,执行此事件");
CGRect frame = textField.frame;
//int offset = frame.origin.y + 32 - (self.view.frame.size.height - 216.0);//软键盘的高度216
int offset = frame.origin.y +
32 - (self.view.frame.size.height -
226);
NSTimeInterval animationDuration = 0.30f;
[UIView
beginAnimations:@"ResizeForKeyboard"
context:nil];
[UIView
setAnimationDuration:animationDuration];
//将视图的Y坐标向上移动offset个单位,以使下面腾出地方用于软键盘的显示
if (offset > 0) {
self.view.frame =
CGRectMake(0.0f, -offset,
self.view.frame.size.width,
self.view.frame.size.height);
}
[UIView
commitAnimations];
}
//当用户按下return键或者按回车键,keyboard消失
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
NSLog(@"当用户按下return键或者按回车键,keyboard消失");
[textField
resignFirstResponder];
return YES;
}
//输入框编辑完成以后,将视图恢复到原始状态
- (void)textFieldDidEndEditing:(UITextField *)textField{
NSLog(@"输入框编辑完成以后,将视图恢复到原始状态");
self.view.frame =
CGRectMake(0,
0, self.view.frame.size.width,
self.view.frame.size.height);
}
3、使输入框外部UIView设置成UIController。
这样上面就可以实现点击事件了,
点击事件如下:
//点击外部view,软键盘隐藏
- (IBAction)hideSoftKeyboard:(id)sender{
NSLog(@"点击输入框外部UIView(其实已经变成拉UIController),软键盘隐藏");
[self.view
endEditing:YES];
}
这样就到定拉,哈哈!简单吧,不喜勿盆
源码下载地址:http://download.csdn.net/detail/zhangzhikaixinya/5774233
UITextFieldDelegate
2、实现其方法
//开始编辑输入框的时候,软键盘出现,执行此事件
- (void)textFieldDidBeginEditing:(UITextField *)textField{
NSLog(@"开始编辑输入框的时候,软键盘出现,执行此事件");
CGRect frame = textField.frame;
//int offset = frame.origin.y + 32 - (self.view.frame.size.height - 216.0);//软键盘的高度216
int offset = frame.origin.y +
32 - (self.view.frame.size.height -
226);
NSTimeInterval animationDuration = 0.30f;
[UIView
beginAnimations:@"ResizeForKeyboard"
context:nil];
[UIView
setAnimationDuration:animationDuration];
//将视图的Y坐标向上移动offset个单位,以使下面腾出地方用于软键盘的显示
if (offset > 0) {
self.view.frame =
CGRectMake(0.0f, -offset,
self.view.frame.size.width,
self.view.frame.size.height);
}
[UIView
commitAnimations];
}
//当用户按下return键或者按回车键,keyboard消失
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
NSLog(@"当用户按下return键或者按回车键,keyboard消失");
[textField
resignFirstResponder];
return YES;
}
//输入框编辑完成以后,将视图恢复到原始状态
- (void)textFieldDidEndEditing:(UITextField *)textField{
NSLog(@"输入框编辑完成以后,将视图恢复到原始状态");
self.view.frame =
CGRectMake(0,
0, self.view.frame.size.width,
self.view.frame.size.height);
}
3、使输入框外部UIView设置成UIController。
这样上面就可以实现点击事件了,
点击事件如下:
//点击外部view,软键盘隐藏
- (IBAction)hideSoftKeyboard:(id)sender{
NSLog(@"点击输入框外部UIView(其实已经变成拉UIController),软键盘隐藏");
[self.view
endEditing:YES];
}
这样就到定拉,哈哈!简单吧,不喜勿盆
源码下载地址:http://download.csdn.net/detail/zhangzhikaixinya/5774233
相关文章推荐
- [iOS] UITextField隐藏软键盘心得(隐藏自身软键盘、点击Return自动转到下个文本框、轻触背景隐藏软键盘)(转)
- [iOS] UITextField隐藏软键盘心得(隐藏自身软键盘、点击Return自动转到下个文本框、轻触背景隐藏软键盘)
- [iOS] UITextField隐藏软键盘心得(隐藏自身软键盘、点击Return自动转到下个文本框、轻触背景隐藏软键盘)
- IOS实现点击软键盘的Next/Return按钮或者空白处后自动隐藏键盘
- UITextField隐藏软键盘心得(隐藏自身软键盘、点击Return自动转到下个文本框、轻触背景隐藏软键盘)
- UITextField 隐藏自身软键盘、点击Return自动转到下个文本框、轻触背景隐藏软键盘
- IOS7 UITextField 隐藏自身软键盘、点击Return自动转到下个文本框、轻触背景隐藏软键盘
- Android EditText设置默认不弹出软键盘,点击EditText外部隐藏软键盘,EditText获取焦点时隐藏hint
- 【iOS开发-37】在点击或者输入结束后不需要键盘的时候如何隐藏并退出软键盘?
- [iOS] UIScrollView与软键盘配合心得——点击空白处隐藏软键盘(完美方案,不增代码)
- 点击蒙版或return隐藏键盘 ios
- iOS 上常用的两个功能:点击屏幕和return退出隐藏键盘和解决虚拟键盘挡住UITextField的方法
- iOS开发在点击或者输入结束后不需要键盘的时候如何隐藏并退出软键盘?
- iOS 上常用的两个功能:点击屏幕和return退出隐藏键盘和解决虚拟键盘挡住UITextField的方法
- 不让scrollerView里的editext 不自动软键盘,软键盘弹起不顶起底部控件,不遮挡editview
- iOS 上常用的两个功能:点击屏幕和return退出隐藏键盘和解决虚拟键盘
- IOS 中点击(return)键隐藏键盘代码
- IOS点击return隐藏键盘
- iOS 上常用的两个功能:点击屏幕和return退出隐藏键盘和解决虚拟键盘挡住UITextField的方法
- EditText 软键盘默认隐藏,点击外部隐藏