我对iOS的App设计完全陌生。我正在使用Swift设计一个iOS应用程序。我有一个RESTFul服务,它返回基于部分字符串查询的城市列表。我的webapp使用Jquery-AutoComplete来执行操作,它工作得很好,我想知道如何使用Swift实现相同的下拉列表外观。
这是我检索数据的方式。如果UITextField的大小超过3个字符,我的应用程序开始将UITextField的内容发送到我的RESTFul服务并返回以这些字符开头的城市列表(我的服务返回前10个匹配项)。
我的挑战是,如何在JIT-AutoComplete列表中显示UITextField下的下拉列表?
答案 0 :(得分:2)
来自上述评论:
我会在UITextField下使用UITableView,然后您可以使用Web服务的响应填充其数据源。
它是否无缝集成?我的意思是,当没有数据自动隐藏或我必须跟踪其可见性?
您可以根据是否有任何要从Web服务响应中显示的内容来设置表视图的隐藏属性。如果没有数据集隐藏为TRUE,如果有数据将其设置为FALSE并使用reloadData方法重新加载表视图数据源。
感谢。所以最后一个问题,如果我在UITextField下有东西,当我设置UITableView的可见性时,它是否会出现在UITextField下的背景和元素上,或者它会推下它们并重新排列UI?
这完全取决于您设置UI的方式。我会将表视图添加为主视图的子视图,将其添加到任何其他对象之上。但是,这又取决于UI的其余部分是如何设置的。您可以使用insertSubview: aboveSubview:方法确保表视图高于所有其他视图。将表视图的隐藏属性设置为TRUE将不会影响下面对象的背景。