加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift – 如何使用UIPickerView设置第二个组件

发布时间:2020-12-14 05:22:17 所属栏目:百科 来源:网络整理
导读:我发现了一些类似的问题,但没有一个解决方案符合我的情况,而且大部分都是客观的,我不知道. 我正在尝试用分钟和秒创建一个计时器,但我无法弄清楚如何连接我的第二个组件. 如何使用UIPickerView设置第二个组件? 这是我到目前为止: TimeViewController.swift
我发现了一些类似的问题,但没有一个解决方案符合我的情况,而且大部分都是客观的,我不知道.

我正在尝试用分钟和秒创建一个计时器,但我无法弄清楚如何连接我的第二个组件.

如何使用UIPickerView设置第二个组件?

这是我到目前为止:

TimeViewController.swift

class TimeViewController: UIViewController,UIPickerViewDelegate {

    @IBOutlet weak var timeSegueLabel: UILabel!

    let minutes = Array(0...9)
    let seconds = Array(0...59)

    func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {

        return 2
    }

    func pickerView(pickerView: UIPickerView,numberOfRowsInComponent component: Int) -> Int {

        return minutes.count

    }

    func pickerView(pickerView: UIPickerView,titleForRow row: Int,forComponent component: Int) -> String! {

        return String(minutes[row])

    }

    override func viewDidLoad() {
        super.viewDidLoad()

    }
}
感谢@Bluehound指出我正确的方向.我不得不在GitHub上查看一些 objective-c以确切知道如何做到这一点,这是我正在寻找的答案:

TimeViewController:

class TimeViewController: UIViewController,UIPickerViewDelegate {

    @IBOutlet weak var timeSegueLabel: UILabel!

    let minutes = Array(0...9)
    let seconds = Array(0...59)

    var recievedString: String = ""

    func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {

        return 2

    }

    func pickerView(pickerView: UIPickerView,numberOfRowsInComponent component: Int) -> Int {
        //row = [repeatPickerView selectedRowInComponent:0];
        var row = pickerView.selectedRowInComponent(0)
        println("this is the pickerView(row)")

        if component == 0 {
            return minutes.count
        }

        else {
            return seconds.count
        }

    }

    func pickerView(pickerView: UIPickerView,forComponent component: Int) -> String! {

        if component == 0 {
        return String(minutes[row])
        } else {

        return String(seconds[row])
        }
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        timeSegueLabel.text = recievedString

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()

    }

这是结果:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读