嗨我有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;
然而屏幕结果如下:
答案 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;