ios - 当键盘出现时 View 仅大于屏幕时,如何在 iOS 中滚动?

标签 ios iphone uiscrollview keyboard

我是一个相当新的 iPhone 开发人员,我正在开发一个 iPhone 应用程序,该应用程序具有用户需要在多个 UITextView 中输入输入的 View 。总共有 6 个 UITextView,当 View 出现时,所有 TextView 都是可见的,无需滚动。但是当用户单击第一个 TextView 输入文本时,最后两个 TextView 被键盘隐藏,我不知道如何添加滚动功能,以便用户在键盘可见时能够滚动.我正在使用 UIScrollView 但目前没有代码可以使它工作,因为我已经尝试了多种我在网上找到的不同的东西,但没有一个有效。这可能是一个简单的解决方案,但我只是没有想法并且已经卡了一段时间。任何意见是极大的赞赏。谢谢

更多信息:我正在使用最新版本的 Xcode,为 iPhone 6.1 及更高版本开发。我使用 Interface Builder 设置了 ScrollView 并选中了 AutoLayout 框。

最佳答案

在您看来确实加载了以下几行

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidShow) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidHide) name:UIKeyboardWillHideNotification object:nil];

制作以下方法。
-(void)keyboardDidHide
{
    scrollview.frame = YOUR_ORIGINAL_FRAME;//You should set frame when keyboard is not there
    scrollview.contentSize=scrollview.frame.size;
}
-(void)keyboardDidShow
{
    CGRect r = scrollview.frame;
    scrollview.contentSize=scrollview.frame.size;
    r.size.height - = 216;//216 is keyboard height for iPhone.
    scrollview.frame = r;
}

关于ios - 当键盘出现时 View 仅大于屏幕时,如何在 iOS 中滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19724183/

相关文章:

swift - 如何将 UIScrollView 的 panGestureRecognizer 添加到 Gesture Recognizer Collection

ios - 跨多个 View 保持同步事件的最佳实践或设计模式是什么?

ios - 检测呈现的 View Controller 何时被关闭

离开并返回应用程序后 iPhone 应用程序崩溃

iphone - 无法实例化名为 UICollectionView 的类

ios - UIScrollView subview 的视差效果

objective-c - 全屏 ImageView ,同时隐藏状态栏

ios - View 在 iphone 4 上看起来不错,但在 iphone 5 上被推低了

ios - 键盘重叠时向上移动 UITextField

iphone - 使用UITableViewCellStyleValue1时如何防止textLabel被截断?