自动向下滚动到下一个 UITextField

Posted

技术标签:

【中文标题】自动向下滚动到下一个 UITextField【英文标题】:Automatically scrolling down to next UITextField 【发布时间】:2013-07-12 22:05:01 【问题描述】:

在我的视图控制器中,我有 5 个UITextField,每个都从键盘或UIPicker 获取不同的数据。我所有不同的元素都在一个名为scrollView 的滚动视图的子类中。我所有的第一响应者都有一个工具栏作为他们的inputAccessoryView,带有上一个/下一个/完成按钮,它们工作得很好。

我遇到的问题是我无法让滚动条自动向下滚动到下一个 UITextField(可能是)变成 firstResponder 以使其有足够的空间看起来不错,请参阅此屏幕截图以供参考:

我尝试了这段代码,试图获得我正在寻找的卷轴,但到目前为止没有运气......

- (void)keyboardControls:(BSKeyboardControls *)keyboardControls selectedField:(UIView *)field inDirection:(BSKeyboardControlsDirection)direction

    UIView *view = keyboardControls.activeField.superview.superview;
    [self.scroller scrollRectToVisible:view.frame animated:YES];

这是我的简单scroller 代码:

[scroller setScrollEnabled:YES];
[scroller setContentSize:CGSizeMake(320, 520)];

如果您能看到我遇到的问题或知道更好的方法来解决这一切,请告诉我...非常感谢您的帮助!谢谢!!

【问题讨论】:

您可以通过触摸滚动吗?您需要将滚动视图缩小到新的较小框架或将内容大小增加键盘的高度。 不要使用scrollToRect,这仅在您的矩形不在屏幕上时才有效,请改用contentOffset How to make a UITextField move up when keyboard is present 的可能重复项 查看 Apple 在 Keyboard Management 上的文档,特别是标有“移动位于键盘下方的内容”的部分。 【参考方案1】:

您可以将 textFields 放在 tableView 单元格中。然后视图会自动向下滚动。

【讨论】:

以上是关于自动向下滚动到下一个 UITextField的主要内容,如果未能解决你的问题,请参考以下文章

使用javascript向下滚动到下一个元素

导航到下一页时,Chrome (iOS) 中的奇怪自动滚动/跳转行为

如何让容器从上到下向下滚动

如何在快速向上和向下滚动表格时停止自动重新加载表格视图? [关闭]

无限滚动在向下滚动到下一页时出现模板错误

如何在我的网站上应用“自动下一个帖子加载”滚动?