例如,在此图片中,当我将UIPickerView滚动到2012 9 28
时,我想要的是黑色标签的文字将变为2012 9 28
同时而不按任何按钮,如完成按钮
我正在使用UIPickerView,我之前可以获取所选数据,我也可以通过点击完成按钮将数据放入标签,但我无法将数据放入标签中滚动。
并且在一般情况下, 我的问题是,当我滚动UIPickerView时,如何获得实时实时选择的数据
有谁可以帮助我? ObjectiveC解决方案没问题,Swift解决方案对我来说更好,非常感谢答案 0 :(得分:2)
目前还不清楚您是使用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),
答案 1 :(得分:0)
我假设您正在使用 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")
}