如何在下拉列表中添加文本字段自动建议?
How to add text field auto suggestions in a drop down list?
我在应用程序中有一个账单地址页面。我必须记住用户添加的所有文本字段数据并将它们显示在下拉列表中。
我必须在文本字段的底部创建一个 table 视图。我还使用 IQKeyboardManager
在键盘出现时维护文本字段。
因此,当键盘出现时,table 视图重叠在键盘背面。如何解决这个问题?
我也附上截图:
看这个。您可以使用 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)
}
我在搜索时发现了 keyboardDistanceFromTextField
属性 个 IQKeyboardmanager
class。您可以使用以下代码为特定的 textField 对象设置键盘距离:
YourDropDowntextFiled.keyboardDistanceFromTextField = 250;
因此,将这行代码用于您的文本文件,您可以轻松地显示下拉列表可见。
我检查了如下所示的演示。一个我没有添加 keyboardDistanceFromTextField
所以它只出现在键盘之后,另一个我应用 属性 所以它会显示离键盘很远的距离。
我在应用程序中有一个账单地址页面。我必须记住用户添加的所有文本字段数据并将它们显示在下拉列表中。
我必须在文本字段的底部创建一个 table 视图。我还使用 IQKeyboardManager
在键盘出现时维护文本字段。
因此,当键盘出现时,table 视图重叠在键盘背面。如何解决这个问题?
我也附上截图:
看这个。您可以使用 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)
}
我在搜索时发现了 keyboardDistanceFromTextField
属性 个 IQKeyboardmanager
class。您可以使用以下代码为特定的 textField 对象设置键盘距离:
YourDropDowntextFiled.keyboardDistanceFromTextField = 250;
因此,将这行代码用于您的文本文件,您可以轻松地显示下拉列表可见。
我检查了如下所示的演示。一个我没有添加 keyboardDistanceFromTextField
所以它只出现在键盘之后,另一个我应用 属性 所以它会显示离键盘很远的距离。