- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
如何获取键盘大小以调整 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/
在管理键盘中 documentation : UIKeyboardFrameBeginUserInfoKey The key for an NSValue object containing a CG
当文本字段被键盘隐藏时,我在尝试从 View Controller 移动 Root View (带有 ScrollView )时遇到一些问题。该文本字段不在根目录中。 我的应用程序在 iOS7 中运行
我正在尝试根据键盘高度滚动我的 View 。这是我在 viewDidLoad 中的代码: [[NSNotificationCenter defaultCenter] addObserverForNam
如何获取键盘大小以调整 UITextView 的大小以及如何在日文键盘上使用 UIKeyboardFrameEndUserInfoKey?以下调整 UITextView 大小的代码在标准键盘上运行良好
我正在尝试只在我的 ViewController 中使用 UITextView,这样当键盘出现时,UITextView 不会被键盘阻挡。 我之前已经使用下面的代码成功完成了此操作,但自从 iPhone
对于常量 UIKeyboardFrameEndUserInfoKey,在 Apple 文档中它说: These coordinates do not take into account any rot
在 iphone/ipad 中附加日语键盘面板的 UIKeyboardFrameEndUserInfoKey 等常量是什么? [[userInfo objectForKey:UIKeyboardAni
我是一名优秀的程序员,十分优秀!