当我滚动 UIPickerView 时,如何实时获取选定的值
How can I get the selected value in the real-time, when I'm scrolling the UIPickerView
例如,在此图像中,当我将 UIPickerView 滚动到 2012 9 28
时, 我想要的是 黑色标签的文本将变为 2012 9 28
同时 不按任何按钮,例如“完成”按钮
我用的是UIPickerView,之前可以获取选中的数据,也可以通过点击Done按钮将数据放入label,但是我不能将数据放入滚动时的标签。
并且在一般情况下,
我的问题是,当我滚动 UIPickerView 时,如何实时
获取选中的数据
有人能帮帮我吗? ObjectiveC 解决方案还可以,Swift 解决方案对我来说更好,非常感谢
不清楚您使用的是 UIPickerView 还是 UIDatePicker。
对于 UIPickerView,您需要实现 UIPickerViewDelegate。确保将委托添加到您的 ViewController 声明中,并确保在 Storyboard 中将 UIPickerView 控件的委托连接到您的视图控制器。然后实现这个功能:
func pickerView(_ pickerView: UIPickerView,
didSelectRow row: Int,
inComponent component: Int) {
}
对于 UIDatePicker,您需要将 Storyboard 中的 UIDatePicker 操作连接到视图控制器中的 @IBAction 函数,或者使用 addTarget 函数在代码中连接它:
myDatePicker.addTarget(self, action: #selector(self.respondToPicker, for: .valueChanged),
假设您正在使用 UIDatePicker,因为您可以使用 UIControlEventValueChanged
来控制操作
喜欢,
datePickerView?.addTarget(self, action: #selector(self.valueChanged(_:)), for: UIControlEvents.valueChanged)
valueChanged() 将是,
func valueChanged(_ datePicker: UIDatePicker) {
let selectedDate = datePicker.date as NSDate
print(selectedDate)
}
如果您使用的是 UIPickerview 那么,
titleForRow: 会给你滚动值
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String?
{
print("your value")
}
和didSelectRow:会给你选择的值
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
{
print("your value")
}
2012 9 28
时, 我想要的是 黑色标签的文本将变为 2012 9 28
同时 不按任何按钮,例如“完成”按钮
我用的是UIPickerView,之前可以获取选中的数据,也可以通过点击Done按钮将数据放入label,但是我不能将数据放入滚动时的标签。
并且在一般情况下, 我的问题是,当我滚动 UIPickerView 时,如何实时
获取选中的数据有人能帮帮我吗? ObjectiveC 解决方案还可以,Swift 解决方案对我来说更好,非常感谢
不清楚您使用的是 UIPickerView 还是 UIDatePicker。
对于 UIPickerView,您需要实现 UIPickerViewDelegate。确保将委托添加到您的 ViewController 声明中,并确保在 Storyboard 中将 UIPickerView 控件的委托连接到您的视图控制器。然后实现这个功能:
func pickerView(_ pickerView: UIPickerView,
didSelectRow row: Int,
inComponent component: Int) {
}
对于 UIDatePicker,您需要将 Storyboard 中的 UIDatePicker 操作连接到视图控制器中的 @IBAction 函数,或者使用 addTarget 函数在代码中连接它:
myDatePicker.addTarget(self, action: #selector(self.respondToPicker, for: .valueChanged),
假设您正在使用 UIDatePicker,因为您可以使用 UIControlEventValueChanged
来控制操作喜欢,
datePickerView?.addTarget(self, action: #selector(self.valueChanged(_:)), for: UIControlEvents.valueChanged)
valueChanged() 将是,
func valueChanged(_ datePicker: UIDatePicker) {
let selectedDate = datePicker.date as NSDate
print(selectedDate)
}
如果您使用的是 UIPickerview 那么,
titleForRow: 会给你滚动值
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String?
{
print("your value")
}
和didSelectRow:会给你选择的值
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
{
print("your value")
}