选择器视图和 if 语句
Picker Views and if statements
我使用本教程创建了一个成功的 pickerview:
我希望在选择每个选项时能够做一些不同的事情,而大多数教程只展示如何为所有选项做一件事,例如将选项文本放入标签中。
这是我试图做我想做的代码。 (我放入打印部分以查看代码是否为 运行 而不是。)
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
if row == 0 {
currentSpeedMeasurement = "MPH"
speed = speed * 2.23694
print("Testing")
}else if row == 1 {
currentSpeedMeasurement = "KPH"
speed = speed * 3.6
} else if row == 2 {
currentSpeedMeasurement = "M/S"
speed = locationManager.location!.speed
//speed = round(100 * speed)
}
}
编辑:下面是我为该项目编写的所有代码。我正在创建一个显示人行进速度的应用程序。
我希望用户从 PickerView(名为 measurementPicker)中选择一个速度测量值,例如英里每小时。
我希望根据用户使用 switch 语句选择的选项激活开关。
我希望速度随后与测量值一起显示在标签中(已转换为所需的测量值)。例如。 "Your speed: 10 MPH"
开关似乎不是 运行ning,因为测量总是 m/s。
请帮忙!
谢谢
代码看起来不错,我认为使用 switch 会更好
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
switch row {
case 0:
currentSpeedMeasurement = "MPH"
speed = speed * 2.23694
print("Testing")
case 1:
currentSpeedMeasurement = "KPH"
speed = speed * 3.6
default:
currentSpeedMeasurement = "M/S"
speed = locationManager.location!.speed
//speed = round(100 * speed)
}
}
为什么它不起作用?我认为你缺少为选择器设置委托,通过你的故事板来完成
或通过代码:
@IBOutlet weak var pickerView: UIPickerView! {
didSet{
pickerView.delegate = self
pickerView.dataSource = self
}
}
之后它应该可以正常工作。
我使用本教程创建了一个成功的 pickerview:
我希望在选择每个选项时能够做一些不同的事情,而大多数教程只展示如何为所有选项做一件事,例如将选项文本放入标签中。
这是我试图做我想做的代码。 (我放入打印部分以查看代码是否为 运行 而不是。)
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
if row == 0 {
currentSpeedMeasurement = "MPH"
speed = speed * 2.23694
print("Testing")
}else if row == 1 {
currentSpeedMeasurement = "KPH"
speed = speed * 3.6
} else if row == 2 {
currentSpeedMeasurement = "M/S"
speed = locationManager.location!.speed
//speed = round(100 * speed)
}
}
编辑:下面是我为该项目编写的所有代码。我正在创建一个显示人行进速度的应用程序。 我希望用户从 PickerView(名为 measurementPicker)中选择一个速度测量值,例如英里每小时。
我希望根据用户使用 switch 语句选择的选项激活开关。
我希望速度随后与测量值一起显示在标签中(已转换为所需的测量值)。例如。 "Your speed: 10 MPH"
开关似乎不是 运行ning,因为测量总是 m/s。
请帮忙!
谢谢
代码看起来不错,我认为使用 switch 会更好
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
switch row {
case 0:
currentSpeedMeasurement = "MPH"
speed = speed * 2.23694
print("Testing")
case 1:
currentSpeedMeasurement = "KPH"
speed = speed * 3.6
default:
currentSpeedMeasurement = "M/S"
speed = locationManager.location!.speed
//speed = round(100 * speed)
}
}
为什么它不起作用?我认为你缺少为选择器设置委托,通过你的故事板来完成
或通过代码:
@IBOutlet weak var pickerView: UIPickerView! {
didSet{
pickerView.delegate = self
pickerView.dataSource = self
}
}
之后它应该可以正常工作。