gpt4 book ai didi

iphone - 如何获取键盘大小以调整 UITextView 的大小以及如何在日文键盘上使用 UIKeyboardFrameEndUserInfoKey?

转载 作者:可可西里 更新时间:2023-11-01 03:52:57 25 4
gpt4 key购买 nike

如何获取键盘大小以调整 UITextView 的大小以及如何在日文键盘上使用 UIKeyboardFrameEndUserInfoKey?以下调整 UITextView 大小的代码在标准键盘上运行良好。但不适用于日语。如何解决?

- (void)keyboardWillShow:(NSNotification *)aNotification {
[self moveTextViewForKeyboard:aNotification up:YES];
}

- (void)keyboardWillHide:(NSNotification *)aNotification {
[self moveTextViewForKeyboard:aNotification up:NO];
}

- (void) moveTextViewForKeyboard:(NSNotification*)aNotification up: (BOOL) up
{
NSDictionary* userInfo = [aNotification userInfo];

// Get animation info from userInfo
NSTimeInterval animationDuration;
UIViewAnimationCurve animationCurve;

CGRect keyboardEndFrame;

[[userInfo objectForKey:UIKeyboardAnimationCurveUserInfoKey] getValue:&animationCurve];
[[userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] getValue:&animationDuration];
[[userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] getValue:&keyboardEndFrame];

// Animate up or down
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:animationDuration];
[UIView setAnimationCurve:animationCurve];

CGRect newFrame = textView.frame;
CGRect keyboardFrame = [self.view convertRect:keyboardEndFrame toView:nil];

newFrame.size.height -= keyboardFrame.size.height * (up? 1 : -1);
textView.frame = newFrame;

[UIView commitAnimations];
}

非常感谢您的帮助!

最佳答案

正确的代码片段:

CGRect newFrame = editSource.frame;
CGRect keyboardFrame = [self.view convertRect:keyboardEndFrame toView:nil];
keyboardFrame.size.height -= tabBarController.tabBar.frame.size.height;
if (up) {
editHeight = newFrame.size.height;
newFrame.size.height -= keyboardFrame.size.height;
} else {
newFrame.size.height = editHeight;
}
editSource.frame = newFrame;

警告!

该方法已过时。正确答案位于此处:How can I add support for Chinese keyboard with UITextView on iOS 7?

关于iphone - 如何获取键盘大小以调整 UITextView 的大小以及如何在日文键盘上使用 UIKeyboardFrameEndUserInfoKey?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8540803/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com