UITextView未正确定位

时间:2013-07-07 22:18:26

标签: iphone ios keyboard uitextview

嗨我有UITextView,我希望它的高度在键盘上方。我正在制作一个笔记应用程序,我需要将UITextView打开,以便轻松滚动。这是代码:

CGRect keyboardBounds = [[[notification userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
CGRect frame = self.notesTextView.frame;
CGFloat height = self.notesTextView.frame.size.height;
height = frame.size.height;
frame.size.height -= keyboardBounds.size.height;
self.notesTextView.frame = frame;

然而屏幕结果如下: enter image description here

2 个答案:

答案 0 :(得分:2)

以下是您需要的答案:https://stackoverflow.com/a/1127025/189804

这样做很难但很重要。不要忘记使用传递给键盘通知的信息词典中的所有信息,您需要读取新兴键盘的高度而不是硬编码值,您需要获取动画持续时间,以便您可以重新排列视图具有相同的动画持续时间,您还需要在编辑时响应事件 - 想象用户开始编辑,然后决定连接蓝牙键盘以使编辑任务更容易,或者他们开始​​编辑连接键盘然后键盘电池退出...

答案 1 :(得分:1)

您需要调整滚动视图的大小。不要触摸textview的框架(除非你创建一个子类)。

CGRect frame = self.textView.enclosingScrollView.frame;
frame.size.height = 42;
self.textView.enclosingScrollView.frame = newFrame;