- (void)viewDidLoad {
[super viewDidLoad];
// 注册监听键盘通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
}
#pragma mark - keyboard notification
- (void)keyboardWillShow:(NSNotification *)sender
{
CGSize kbSize = [[[sender userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size;
NSTimeInterval duration = [[[sender userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue];
[UIView animateWithDuration:duration animations:^{
UIEdgeInsets edgeInsets = UIEdgeInsetsMake(20, 0, kbSize.height, 0);
[_scrollView setContentInset:edgeInsets];
[_scrollView setScrollIndicatorInsets:edgeInsets];
}];
}
- (void)keyboardWillHide:(NSNotification *)sender
{
NSTimeInterval duration = [[[sender userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue];
[UIView animateWithDuration:duration animations:^{
//UIEdgeInsets edgeInsets = UIEdgeInsetsZero;
//UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right)
UIEdgeInsets edgeInsets = UIEdgeInsetsMake(20, 0, 0, 0); // 偏移的距离
[_scrollView setContentInset:edgeInsets]; // 视图在scrollView中的位置
[_scrollView setScrollIndicatorInsets:edgeInsets]; // 指定滚动条在scrollerView中的位置
}];
}