如何在下拉列表中添加文本字段自动建议?
Posted
技术标签:
【中文标题】如何在下拉列表中添加文本字段自动建议?【英文标题】:How to add text field auto suggestions in a drop down list? 【发布时间】:2017-03-09 09:11:55 【问题描述】:我在应用中有一个帐单地址页面。我必须记住用户添加的所有文本字段数据并将它们显示在下拉列表中。
我必须在文本字段的底部创建一个表格视图。当键盘出现时,我还使用IQKeyboardManager
来维护文本字段。
因此,当键盘出现时,表格视图在键盘背面重叠。如何解决这个问题?
我也附上截图:
【问题讨论】:
作为github.com/hackiftekhar/IQKeyboardManager/issues/177你可以隐藏键盘工具栏 但我没有隐藏工具栏。 我认为您想将文本字段向上移动,对吗?然后使用其他方式来保持键盘避免 是的,可以使用其他方式来避免使用键盘 检查我的答案,一定有帮助 【参考方案1】:当我进行一些搜索时,我发现了IQKeyboardmanager
类的keyboardDistanceFromTextField
属性。您可以使用以下代码为特定的 textField 对象设置键盘距离:
YourDropDowntextFiled.keyboardDistanceFromTextField = 250;
因此,为您的文本文件使用这行代码,您可以轻松地显示可见的下拉列表。
我已签入演示,如下所示。一个我没有添加keyboardDistanceFromTextField
,所以它只出现在键盘之后,其他我应用了propery,所以它会显示与键盘的距离很大。
【讨论】:
【参考方案2】:看这个。您可以使用 RxSwift 进行紧凑编码
var autoCompleteTableView: UITableView = UITableView()
let containerView: UIView = UIView()
var placesArray = Observable.just([String]())
func createAutocompleteContainer()
let screenSize: CGRect = UIScreen.mainScreen().bounds
let width : CGFloat = screenSize.width-138
let height : CGFloat = 200
containerView.frame = CGRect(x: 130, y: 62, width: width, height: height)
autoCompleteTableView.frame = CGRect(x: 0, y: 0, width: containerView.frame.size.width, height: containerView.frame.size.height)
containerView.backgroundColor = UIColor.whiteColor()
placesArray
.bindTo(autoCompleteTableView.rx_itemsWithCellIdentifier("cell", cellType: UITableViewCell.self)) (row, element, cell) in
cell.textLabel?.text = "\(element)"
cell.textLabel?.textColor = UIColor(hex: "#b2b2b2")
cell.textLabel?.font = UIFont.systemFontOfSize(13)
.addDisposableTo(disposeBag)
autoCompleteTableView
.rx_modelSelected(String)
.subscribeNext value in
self.textField = value
self.containerView.removeFromSuperview()
.addDisposableTo(disposeBag)
self.containerView.addSubview(autoCompleteTableView)
self.view.addSubview(containerView)
【讨论】:
var placesArray = Observable.just([String]()) 什么是 Observable Observable var for RxSwift Binding placesArray.bindTo ... 或者您可以编写 var placesArray = Variable([]) 并像这样绑定 placesArray.asObservable().bindTo ...以上是关于如何在下拉列表中添加文本字段自动建议?的主要内容,如果未能解决你的问题,请参考以下文章