IOS4与IOS5输入框随键盘移动问题
来源:互联网 发布:黑暗之魂3画面设置优化 编辑:程序博客网 时间:2024/06/04 08:18
- (void)viewDidLoad
{
[superviewDidLoad];
// Do any additional setup after loading the view.
_textfield = [[UITextFieldalloc]initWithFrame:CGRectMake(10,460-100-26,300-34,26)];
_textfield.borderStyle =UITextBorderStyleRoundedRect;
_textfield.tag =444;
_textfield.delegate =self;
[_textfieldaddTarget:selfaction:@selector(keyboardWillShow:)forControlEvents:UIControlEventTouchDown];
[self.view addSubview:_textfield];
}
-(void)keyboardWillShow:(UITextField*)textfield
{
//在iOS5中,新增有notification(UIKeyboardWillChangeFrameNotification)可以用来监测键盘frame的变化。在iOS4中,可以通过UIKeyboardWillShowNotification以及UIKeyboardWillHideNotification来监测键盘的显示与隐藏事件
/*****************/
// 该notification由系统发送,所以无需自己调用发送通知
/*****************/
/* 通知描述:
UIKeyboardWillShowNotification键盘即将显示
UIKeyboardDidShowNotification键盘已经显示
UIKeyboardWillHideNotification键盘即将隐藏
UIKeyboardDidHideNotification键盘已经隐藏
UIKeyboardWillChangeFrameNotification键盘frame即将改变
UIKeyboardDidChangeFrameNotification键盘frame已经改变
*/
//注册监测事件
if (IOS_VERSION <5.0) {
[[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(keyboardWillChangeFrame:)name:UIKeyboardWillShowNotificationobject:nil];
[[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(keyboardWillChangeFrame:)name:UIKeyboardWillHideNotificationobject:nil];
}else{
[[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(keyboardWillChangeFrame:)name:UIKeyboardWillChangeFrameNotificationobject:nil];
}
}
- (void)keyboardWillChangeFrame:(NSNotification *)notification
{
//获取键盘信息
NSDictionary *info=[notification userInfo];
NSLog(@"info = %@",info);
//获取键盘的size值
CGSize _keyBord = [[infoobjectForKey:UIKeyboardFrameEndUserInfoKey]CGRectValue].size;
//获取键盘出现的动画时间
NSValue *animationDurationValue = [infoobjectForKey:UIKeyboardAnimationDurationUserInfoKey];
NSTimeInterval animationDuration;
[animationDurationValue getValue:&animationDuration];
//获取键盘高度
CGFloat height = _keyBord.height;
NSLog(@"hhh = %f",height);
NSTimeInterval animation = animationDuration;
//视图移动的动画开始
[UIViewbeginAnimations:@"animal"context:nil];
[UIViewsetAnimationDuration:animation];
[_textfield setFrame:CGRectMake(10,460-height-26, 300-24,26)];
[UIViewcommitAnimations];
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
//移除监测事件
[[NSNotificationCenterdefaultCenter] removeObserver:selfname:UIKeyboardWillChangeFrameNotificationobject:nil];
NSTimeInterval animationDuration = 0.30f;
[UIViewbeginAnimations:@"ResizeForKeyboard"context:nil];
[UIView setAnimationDuration:animationDuration];
[_textfield setFrame:CGRectMake(10,460-100-26,300-34, 26)];
[UIViewcommitAnimations];
[textField resignFirstResponder];
// textfield.text = nil;
return YES;
}
- IOS4与IOS5输入框随键盘移动问题
- 完美解决ios4与ios5输入框随键盘移动问题
- 完美解决ios4与ios5输入框随键盘移动问题
- 完美解决ios4与ios5输入框随键盘移动问题
- iOS5网页视图(UIWebView)中的输入框不能弹出键盘的问题
- 输入框随键盘移动的实现
- swift 输入框随键盘移动
- 移动端输入框与底部定位键出现的键盘弹出问题
- android 键盘与输入框问题
- 输入框根据键盘显示与隐藏移动位置
- ios输入框随键盘上下移动动画
- 关于输入框随键盘移动的方法
- h5移动端输入框随键盘上升
- 移动web 键盘挡住输入框
- 监听键盘位置,使输入框跟随键盘移动
- iOS5 切换中文键盘时覆盖输入框的完美解决方案
- iOS5的键盘高度问题处理
- iOS5的键盘高度问题处理
- 淘宝写日志的那些事儿
- 求两个有序数组的中位数(无论数组长度是否一样)
- crtmpserver的安装
- 漫谈大数据仓库与挖掘系统--层次、维度与主题
- Java List排序
- IOS4与IOS5输入框随键盘移动问题
- netbeans窗体居中方法分享,果然时常百度下还是有好处滴
- 2.6 Implementing Range Pickers with UISlider
- 学习笔记:ASP.NET TextBox 服务器控件源码
- 记忆上传的可能性
- 漫谈大数据仓库与挖掘系统:数据的传输和同步
- [转]CSDN的博客搜索功能太弱,教你怎么搜索自己博客的文章
- 让job在指定oracle rac 节点上执行
- 漫谈大数据仓库与挖掘系统:MapReduce与大规模离线计算系统