如何在下拉列表中添加文本字段自动建议?

时间:2017-03-09 09:11:55

标签: ios swift uitableview uitextfield iqkeyboardmanager

我在应用中有一个“结算地址”页面。我必须记住用户添加的所有文本字段数据,并在下拉列表中显示它们。

我必须在文本字段的底部创建一个表格视图。我还在键盘出现时使用IQKeyboardManager来维护文本字段。

因此,当键盘出现时,表格视图在键盘背面重叠。如何解决这个问题?

我还附上截图:

IQKeyboardManager toolbar in front of text field

2 个答案:

答案 0 :(得分:2)

在我做一些搜索时,我找到IQKeyboardmanager类的YourDropDowntextFiled.keyboardDistanceFromTextField = 250; 属性。您可以使用以下代码为特定的textField对象设置键盘的依赖性:

keyboardDistanceFromTextField

因此,对于textfiled使用这行代码,您可以轻松地显示可见的下拉列表。

我已经在Demo中查看过以下内容。一个我没有添加resp, err := http.Head("http://aa.com/aa.mp4") if err != nil { return false } if resp.StatusCode != http.StatusOK { return false } 所以它只是出现在键盘和其他我应用propery所以它将显示与键盘的距离很远。

SwiftArchitect

答案 1 :(得分:0)

看这个。您可以使用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)

    }