キーボードが表示されたときにビューを上に移動するために TPKeyboardAvoidingScrollView を使用しています。通常の速度でキーボードを戻すと、完全に機能しています。しかし、通常よりも速い速度でキーボードを返すと。その後、ビューは上にくっついて下に移動しません。
何か案が?この種の問題を以前に見たことがある人はいますか?
どんな助けでも大歓迎です!!
キーボードが表示されたときにビューを上に移動するために TPKeyboardAvoidingScrollView を使用しています。通常の速度でキーボードを戻すと、完全に機能しています。しかし、通常よりも速い速度でキーボードを返すと。その後、ビューは上にくっついて下に移動しません。
何か案が?この種の問題を以前に見たことがある人はいますか?
どんな助けでも大歓迎です!!
次の方法を変更することで問題を解決しました。ここで違いを見てみましょう。
前:
- (void)keyboardWillHide:(NSNotification*)notification
{
_keyboardRect = CGRectZero;
_keyboardVisible = NO;
// Restore dimensions to prior size
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationCurve:[[[notification userInfo] objectForKey:UIKeyboardAnimationCurveUserInfoKey] intValue]];
[UIView setAnimationDuration:[[[notification userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue]];
self.contentInset = _priorInset;
[self setScrollIndicatorInsets:self.contentInset];
_priorInsetSaved = NO;
[UIView commitAnimations];
}
後:
- (void)keyboardWillHide:(NSNotification*)notification
{
_keyboardRect = CGRectZero;
// Restore dimensions to prior size
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationCurve:[[[notification userInfo] objectForKey:UIKeyboardAnimationCurveUserInfoKey] intValue]];
[UIView setAnimationDuration:[[[notification userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue]];
self.contentInset = _priorInset;
[self setScrollIndicatorInsets:self.contentInset];
_priorInsetSaved = NO;
[self adjustOffsetToIdealIfNeeded];
[UIView commitAnimations];
_keyboardVisible = NO;
}