ios - UIPickerView.selectedRowInComponent 中的 "component"是什么意思?

标签 ios swift uipickerview

在 Xcode 中使用 Swift,我想做:

1) PICKER,数据来自数组

2) BUTTON,按下时将使用 PICKER

选定行中的文本更新 LABEL

我目前的代码:

var array = ["Sydney", "London", "Washington", "Tokyo", "San Francisco"]

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

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

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

@IBOutlet weak var PICKER: UIPickerView!

@IBOutlet weak var LABEL: UILabel!

@IBAction func BUTTON(sender: AnyObject) {
    LABEL.text = array[PICKER.selectedRowInComponent(0)]
}

到目前为止一切正常。但我有两个问题:

1) 我应该在 PICKER.selectedRowInComponent 中放一个“0”吗?这是什么意思?因为它没有数字或任何其他数字都不起作用。这是否意味着只选择第一行(而不是选择用户已选择的行)?

2) 如何让 PICKER 在应用加载时默认显示数组的中间项而不是第一项(例如,在本例中为 Washington )?

最佳答案

拾取器可以有多个轮子(组件)。例如,您可能有每个数字的单独轮盘,或者您可能有日、月和年轮盘。它们从 0 开始编号。因此“组件 0”只是第一个轮子(您只有一个)。

选择行是通过调用 selectRow(inComponent:animated:) 完成的。

关于ios - UIPickerView.selectedRowInComponent 中的 "component"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30237580/

相关文章:

ios - 在 Xcode 中测试应用程序在单击按钮时崩溃,但不是开关

ios - Autolayout - 在推送新 View Controller 的同时压缩 UINavigationController

ios - 在 UIPickerView 中选择不同的字体大小?

ios - 带有文本字段的 uipickerview 在 textFieldShouldBeginEditing 之后未被调用

ios - 如何在选项卡栏 Controller 中更新选项卡 View

ios - UIPickerView 居中列

ios - 调整图像大小而不损失质量

ios - 你如何从 Swift 向 os_log 传递错误?

ios - GMSMapView 显示空白 map

swift firebase 电话身份验证错误“verifyPhoneNumber :completion is deprecated