看来,iOS 6中执行此操作的旧方法已被Apple破坏。谁能指导我吗?我查了一下苹果的开发人员库,然后得到的只是“嵌入ScrollView更简单”,我觉得这很荒谬和不必要。有没有人找到完成这项工作的方法?

- (void)keyboardWasShown:(NSNotification *)notification
{
    NSDictionary *info = [notification userInfo];
    CGSize kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
    UIEdgeInsets contentInsets = UIEdgeInsetsMake(0.0, 0.0, (kbSize.width > kbSize.height ? kbSize.height : kbSize.width), 0);
    self.mainTextView.contentInset = contentInsets;
    self.mainTextView.scrollIndicatorInsets = contentInsets;
}

这对我不起作用。我的问题是textview在运行时似乎没有调整大小,而Keyboard隐藏在屏幕下部的文本。我的代码或这种方法有问题吗?

最佳答案

我在迁移代码时遇到了同样的问题。问题是您使用的是UIKeyboardFrameBeginUserInfoKey而不是UIKeyboardFrameEndUserInfoKey
动画前与动画后的事情。

升级到iOS7.0已使该代码现在可以按文档所述正常工作,但这意味着他们还引入了行为中断。

10-06 07:58