这个第三方可以看一下
IQKeyboardManager
-(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
{
if(![_tizitext isFirstResponder]){
NSDictionary* info = [aNotification userInfo];
//kbSize键盘尺寸 (有width, height)
CGSize kbSize = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size;//键盘的高度
NSLog(@"hight_hitht:%f",kbSize.height);
NSLog(@"%@",NSStringFromCGRect(_publish.frame));
#warning 后期根据尺寸修改
[UIView animateWithDuration:0.1 animations:^{
//最好用transform
self.view.frame = CGRectMake(0, -60, self.view.frame.size.width, self.view.frame.size.height);
}];}
}
//当键盘隐藏的时候
- (void)keyboardWillBeHidden:(NSNotification*)aNotification
{
//do something
[UIView animateWithDuration:0 animations:^{
self.view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
}];
}