簡體   English   中英

快速的multilpe pickerView

[英]swift multilpe pickerView

填充選擇器視圖時,似乎無法顯示所有三個選項。 它只會給我最后選擇的列結果。

import UIKit

class ViewThree: UIViewController, UIPickerViewDelegate {

    @IBOutlet var sizePicker: UIPickerView!

    var wheelContents:[[String]] = []
    var one = ["1", "2"]
    var two = ["A", "B", "C"]
    var three = ["X", "Y"]

    @IBOutlet var sparLabel: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()
        wheelContents = [one, two, three]
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
        return wheelContents.count
    }

    func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
        return wheelContents[component].count
    }

    func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
        return wheelContents[component][row]
    }

    func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {

        var wheel = wheelContents[component][row]
        sparLabel.text = "\(wheel)"
    }
}

問題是我不確定在我的didSelectRow {}中要放什么,如果我將它們作為單獨的結果生成,那么當我選擇三行列的第3個選項時,它似乎崩潰了。 如果我將其保留原樣,則僅給出最后選擇的列和行。 我希望它以“ 1CY”之類的標簽顯示。

謝謝

var result = ""

for var i = 0; i < wheelContents.count; i++
{
    let selectedRow = pickerView.selectedRowInComponent(i) //get selected row in component
    let value = wheelContents[i][selectedRow] //get displayed value in component
    result += value + " "
}

sparLabel.text = result

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM