UIPicker不能成为代表?

时间:2014-07-30 07:53:22

标签: ios uidatepicker

我为UIPicker创建了一个IBOutlet,并将其命名为“RequestedDate”。然后我继续了类型

  

_RequestedDate.delegate = self;

但我一直收到错误:

  在对象类型'UIDatePicker'

上找不到

属性'委托'

我对Xcode比较新,我刚开始使用代码。有什么我做错了或不能没有代表UIPicker吗?

感谢〜

2 个答案:

答案 0 :(得分:1)

UIDatePicker使用目标操作模式而不是委托模式 您可以为更改的值添加IBAction' Interface Builder中的事件,或者您可以使用以下代码执行此操作:

UIDatePicker *datePicker = [[UIDatePicker alloc] init];
[datePicker addTarget:self action:@selector(datePickerDidChange:) forControlEvents:UIControlEventValueChanged];
// ...

然后实现action方法,并可以检索新日期。

- (void)datePickerDidChange:(UIDatePicker *)picker {
    NSDate *newDate = picker.date;
    NSLog(@"Picker changed date to %@", newDate);
}

UIPickerView和UIDatePicker只是看起来相似,它们是完全独立的类。 UIPickerView是UIView的子类,UIDatePicker是UIControl的子类,它们不相关。

答案 1 :(得分:0)