我正在尝试实施Chrome浏览器等搜索历史记录文字。
目前我的想法是将UITextField
子类化,并在文本字段中键入内容时在文本域的超级视图中添加UITableView
。
数据存储使用Core Data。
新类有一个数据源(UITableViewDataSource
)和一个委托(UITableViewDelegate
)属性,它们将指向UITableView
。
在我的应用中,我已经在我的UITableView
中使用了UIViewController
,因此我使用另一个单独的对象作为自定义文本字段的委托控制器。
但是我在处理textfield的tableview事件时遇到了一些困难,因为这个表视图被添加为textfield的superview的子视图。每当我触摸tableview时,接收器始终是该表视图下的视图,因此由我的自定义文本字段类填充的表视图无法在屏幕上接收我的点击。
答案 0 :(得分:0)
我放弃了原始设计并决定使用UISearchBar
替换UITextField
并在UITableView
中添加自定义UIViewController
来显示搜索关键字。
这样操作UITableView
要容易得多,尽管它与UIViewController
有点紧密耦合。