Я работаю над приложением для чата. Когда появляется моя клавиатура, я хочу изменить размер табличного представления и текстового представления в соответствии с рамкой клавиатуры.
Проблема в том, что мой вид таблицы автоматически изменяет размер и положение, когда появляется моя клавиатура.
Мой код..
-(void)KeyboardWillShow:(NSNotification *)keyboardInfo
{
@try {
NSDictionary *userInfo = keyboardInfo.userInfo;
// Get keyboard size.
NSValue *endFrameValue = userInfo[UIKeyboardFrameEndUserInfoKey];
CGRect keyboardEndFrame = [self.view convertRect:endFrameValue.CGRectValue fromView:nil];
// Get keyboard animation.
NSNumber *durationValue = userInfo[UIKeyboardAnimationDurationUserInfoKey];
NSTimeInterval animationDuration = durationValue.doubleValue;
NSNumber *curveValue = userInfo[UIKeyboardAnimationCurveUserInfoKey];
UIViewAnimationCurve animationCurve = curveValue.intValue;
[UIView animateWithDuration:animationDuration delay:0.0 options:(animationCurve<<16) animations:^{
[self.messageView setFrame:CGRectMake(self.messageView.frame.origin.x, self.view.frame.size.height-keyboardEndFrame.size.height-self.messageView.frame.size.height, self.messageView.frame.size.width, self.messageView.frame.size.height)];
[self.tableView setFrame:CGRectMake(self.tableView.frame.origin.x, self.tableView.frame.origin.y, self.tableView.frame.size.width, self.view.frame.size.height-keyboardEndFrame.size.height-self.messageView.frame.size.height-self.tableView.frame.origin.y)];
} completion:nil];
}
@catch (NSException *exception) {
NSLog(@"Error in func:%s, line:%d with reason:%@",__func__,__LINE__,exception.reason);
}
}
]2