0

这听起来一定奇怪,但我想把键盘的 CGRect 从 UITextView 中拿出来。这是一张可以帮助您的图片:

图片

我基本上希望 UITextView 变小,所以当我添加文本时它会向下滚动。如果您需要更多信息,请询问我。

编辑:当我使用此代码时:

- (void)keyboardWasShown:(NSNotification*)notification {
      NSDictionary* info = [notification userInfo];
      kbSIZE = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue];
      CGRect newTextViewFrame = self.notesTextView.frame;
      newTextViewFrame.size.height -= kbSIZE.size.height;
      self.notesTextView.frame = newTextViewFrame;
 }

有时候是这样的:

图像2

4

2 回答 2

1

一点也不奇怪。当您调出键盘时,表格视图经常会发生同样的事情。这段代码应该会有所帮助。

CGRect newTextViewFrame = textView.frame;
newTextFrame.size.height -= keyboardSize.frame.size.height;
textView.frame = newScrollFrame;
于 2013-08-01T21:12:55.603 回答
1

这一点都不奇怪:)

您可以通过注册为 the 的观察者来做到这一点(在同一进程中UIKeyboardWillShowNotification注册也是一个好主意)。UIKeyboardWillHideNotification

当注册的选择器将被调用时,通知参数将在字典的UIKeyboardFrameEndUserInfoKey值内包含键盘的大小userInfo

[[[通知用户信息] objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size

您现在需要做的就是将 UITextView 的框架设置为所需的大小。

请注意:您获得的 CGRect不考虑设备方向。这意味着,如果设备实际上处于横向模式,则需要切换 CGRect 的宽度和高度,以使其在您的上下文中有意义。

于 2013-08-01T21:21:49.787 回答