使表格视图中的 UITextField 可见滚动
Posted
技术标签:
【中文标题】使表格视图中的 UITextField 可见滚动【英文标题】:Make UITextField inside a table view visible scrolling 【发布时间】:2011-05-07 20:52:14 【问题描述】:我有一个 UITableViewController、一堆部分和行,我为每一行添加了一个 UITextField 作为子视图,在行本身中右对齐。
如果用户点击该行,我在本地保存 indexPath,使相应的文本字段成为第一响应者,最后,当键盘出现时,我使表格视图滚动以使该行保持可见。
当用户点击文本字段时,我面临获得相同行为的问题。在这种情况下,没有调用 didSelectRowAtIndexPath: 方法,所以我不知道如何让表格视图滚动以确保“选定”行仍然可见。
可能整个过程都不正确。你知道解决方法吗?
非常感谢!
【问题讨论】:
【参考方案1】:我不是很确定,但是...
将UITextField
的userInteractionEnabled
属性设置为NO
。这样,触摸“通过”控件,点击UITableViewCell
。在调用didSelectRowAtIndexPath:
时,将UITextField
的userInteractionEnabled
属性设置为YES
。编辑完成后,改回NO
。
【讨论】:
很好,它确实是这样工作的。如果我以奇怪的方式关闭键盘(例如,触摸其他控件或切换标签栏视图等),我只担心 UITextFields 可以将 userInteractionEnabled 标志设置为 YES。 如果你实现UITextFieldDelegate
方法textFieldDidEndEditing:
并将userInteractionEnabled
设置为NO
,那将不会发生。
@marzapower:如果您需要更多帮助,请告诉我。以上是关于使表格视图中的 UITextField 可见滚动的主要内容,如果未能解决你的问题,请参考以下文章
当我在 SE 中向上滚动时,自定义 UITableViewCell 中的 UItextfield 文本打印为零