iOS 获得键盘的高度 NSNotificationCenter
来源:互联网 发布:网页nginx forbidden 编辑:程序博客网 时间:2024/04/29 18:34
//在遇到有输入的情况下。由于现在键盘的高度是动态变化的。中文输入与英文输入时高度不同。所以输入框的位置也要做出相应的变化#pragma mark - keyboardHight-(void)viewWillAppear:(BOOL)animated{ [self registerForKeyboardNotifications];}-(void)viewWillDisappear:(BOOL)animated{ [[NSNotificationCenter defaultCenter] removeObserver:self];}- (void)registerForKeyboardNotifications{ //使用NSNotificationCenter 鍵盤出現時 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWasShown:) name:UIKeyboardDidShowNotification object:nil]; //使用NSNotificationCenter 鍵盤隐藏時 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillBeHidden:) name:UIKeyboardWillHideNotification object:nil]; }//实现当键盘出现的时候计算键盘的高度大小。用于输入框显示位置- (void)keyboardWasShown:(NSNotification*)aNotification{ NSDictionary* info = [aNotification userInfo]; //kbSize即為鍵盤尺寸 (有width, height) CGSize kbSize = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size;//得到鍵盤的高度 NSLog(@"hight_hitht:%f",kbSize.height); if(kbSize.height == 216) { keyboardhight = 0; } else { keyboardhight = 36; //252 - 216 系统键盘的两个不同高度 } //输入框位置动画加载 [self begainMoveUpAnimation:keyboardhight];}//当键盘隐藏的时候- (void)keyboardWillBeHidden:(NSNotification*)aNotification{ //do something}//(TextView) 当键盘开始输入前。时行计算与动画加载-(void)textViewDidBeginEditing:(UITextView *)textView{ NSLog(@"gegin animation"); sendMsgTextView =textView; resultCommunityTableview.frame = CGRectMake(0, 36, 320, 150); //动画加载 [self begainMoveUpAnimation:0.0 ]; }//关闭键盘(TextView) 换行时。隐藏键盘-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { resultCommunityTableview.frame = CGRectMake(0, 36, 320, 376); if ([text isEqualToString:@"\n"]) { [textView resignFirstResponder]; return NO; } return YES; } //输入结束时调用动画(把按键。背景。输入框都移下去)-(void)textViewDidEndEditing:(UITextView *)textView{ NSLog(@"tabtabtab"); [self endEditAnimation]; //释放 [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil]; [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil];}//判断当前输入法-(void)textViewDidChangeSelection:(UITextView *)textView{ NSLog(@"wewe:%@",[[UITextInputMode currentInputMode] primaryLanguage]); /* if ([[UITextInputMode currentInputMode] primaryLanguage] == @"en-US") { NSLog(@"en-US"); } else { NSLog(@"zh-hans"); } */}
1 0
- iOS 获得键盘的高度 NSNotificationCenter
- iOS 获得键盘的高度 NSNotificationCenter
- iOS 获得键盘的高度 NSNotificationCenter
- iOS 监听键盘的高度 - NSNotificationCenter
- iOS——获得键盘的高度 NSNotificationCenter 避免遮挡输入框
- 关于获得键盘高度的问题
- iOS获取键盘的高度
- iOS获取键盘的高度
- iOS获取键盘的高度
- iOS获取键盘的高度
- iOS获取键盘的高度
- IOS 获取键盘的高度
- iOS获取键盘的高度
- iOS获取键盘的高度
- iOS 获取键盘的高度
- iOS键盘高度的获取
- iOS获取键盘的高度
- 获得键盘高度
- 博客搬家
- Execution failed for task ':compileDebugAidl'. java.lang.IllegalStateException: aidl is missing
- IOS Block传值
- import caffe经典报错处理on Ubuntu & Mac OS 10.11
- 值得学习的C语言开源项目
- iOS 获得键盘的高度 NSNotificationCenter
- Check the existence of public synonyms Remove the public synonyms
- AIDL mm编译问题
- Asio 技术学习
- linux工具---windows文件传输到linux工具以及SSH客户端软件
- HadoopYarn—创建Eclipse工程
- python文件操作值glob库
- C++中一般变量、引用变量、常量、 静态变量、静态常量的初始化问题
- android studio R文件丢失分析