swift - 在 Swift 3 中制作下拉列表

标签 swift

我正在尝试制作下拉列表,其中选择器 View 在用户单击文本字段之前不可见。然后,在用户从 pickerView 进行选择后,picker view 消失。目前,当我点击文本字段时,选择器 View 根本不显示。

import UIKit

class ViewController: UIViewController, UIPickerViewDataSource,     UIPickerViewDelegate {
    @IBOutlet weak var textBox: UITextField!
    @IBOutlet weak var pickerView: UIPickerView!

    var choices = ["SortBy:", "Date(ascending)", "Date(descending)","Calories Burned(descending)","Duration(descending)"]

    func numberOfComponents(in pickerView: UIPickerView) -> Int {
        return 1
    }

    func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
        self.view.endEditing(true)
        return choices[row]
    }

    func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
        return choices.count
    }

    fun pickerView(_ pickerView: UIPickerView, didSelectRow row: Int,   inComponent component: Int) {
        self.textBox.text = self.choices[row]
        self.pickerView.isHidden = true

        print("hello")
    }

    func textFieldDidBeginEditing(TextField:  UITextField){
        if TextField == self.textBox {
            self.pickerView.isHidden = false
            TextField.endEditing(true)
        }
    }

    override func viewDidLoad() {
        self.pickerView.isHidden = true
        super.viewDidLoad()
    }
}

最佳答案

试试这个:

override func viewDidLoad() {
        self.pickerView.isHidden = true
        super.viewDidLoad()
        self.textBox.delegate = self
        self.pickerView.delegate = self 
    }

关于swift - 在 Swift 3 中制作下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45177058/

相关文章:

swift - MKOverlay 无法正确呈现接近第 180 条子午线(快速)

ios - 如何删除所有 UserDefaults 数据? - swift

ios - IQKeyboardManagerSwift pod 安装 : How to implement Done button action in swift

ios - 如何在ViewController之间正确传递UIImage?

ios - 如何在 Swift 中实现 UITableView 样式和框架?

ios - 如何在 iPad 上使 UITextView 大小相同(Swift)

ios - 将 Objective C Framework 导入我的 Swift 项目后,我的项目无法识别我的桥接文件中的头文件

swift - 失败的初始化器和存储的属性

ios - 如何使用 Swift 5 在 SwiftUI 中使用具有 RGB 或十六进制值的颜色?

swift - 拖动和重新排序 - 带部分的 UICollectionview