我是一个相当新的 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/