使 UIViewController 中的 UITableView 滚动到文本字段

Posted

技术标签:

【中文标题】使 UIViewController 中的 UITableView 滚动到文本字段【英文标题】:Make UITableView in UIViewController scroll to text fields 【发布时间】:2017-11-26 02:11:13 【问题描述】:

我在这里读到如果我的表格单元格中有UITextField,表格会自动滚动到包含它们的单元格。这完美地工作。 Making a UITableView scroll when text field is selected

有没有办法让它与UIViewController 一起工作?我正在使用UIViewController,因为我有很多自定义 UI 需要布置在表格视图的顶部。谢谢!

【问题讨论】:

【参考方案1】:

我建议使用 containerViews 将您的 viewController 拆分为多个。

这样,您可以为您的 tableView 使用 UITableViewController 并为所有自定义 UI 使用常规 UIViewController。

另一种方法是在 textField 处于焦点时手动设置滚动视图的 contentOffset。

它看起来像那样。

@IBAction func textField(didBeginEditing sender: UITextField) 
    let point = CGPoint(x: 0, y: textField.frame.minY)
    scrollView.setContentOffset(point, animated: true) 

【讨论】:

以上是关于使 UIViewController 中的 UITableView 滚动到文本字段的主要内容,如果未能解决你的问题,请参考以下文章

未分配给父 UIViewController 视图属性时,UITableView 不滚动

使 UIViewController 中的 UITableView 滚动到文本字段

修复具有许多状态的巨型视图控制器

如何使 PFQueryTableView 在 UIViewController 中工作

MySQL 中的视图性能

触摸事件未在 UITableView 上触发