Я пытаюсь прокрутить вверх UISCrollView
, когда отображается клавиатура
. Я использую setContentOffset, чтобы сдвинуть uiview вверх.
В то же время я хочу уменьшить высоту моего UISCrollView
до (высота просмотра - высота клавиатуры), чтобы можно было прокручивать весь просмотр содержимого.
Я применяю обаИзменения в уведомлении клавиатурыWillShow
Когда я фактически поднимаю клавиатуру в своем приложении, содержимое сначала перемещается вверх, а затем вниз (что дает эффект мерцания).Я пытаюсь сгладить оба преобразования за один раз ..
Возможно ли это?
Код ниже ---
- (void) keyboardWillShow {
CGPoint contentOffset = scrollView.contentOffset;
CGRect scrollViewFrame = scrollView.frame;
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.3];
if (contentOffset.y >= 0 && contentOffset.x >= 0) {
isContentOffset = YES;
contentOffset.y += screenShift;
[scrollView setContentOffset:contentOffset animated: NO];
}
scrollViewFrame.size.height = keyboardOrigin.y - self.view.frame.origin.y - toolbarHeight;
scrollView.frame = scrollViewFrame;
[UIView commitAnimations];
}