我有一个NSDatePicker (NSDatePicker* datePicker),并将其委托设置为主应用程序(self)。我编程如下。
使日期选择器委派
self
[[datePicker cell] setDelegate:self];设置为在单击控件时调用。
datePickerAction:
这就是方法。

- (IBAction)datePickerAction:(id)sender
{

    if( [[[NSApplication sharedApplication] currentEvent] modifierFlags] &
       NSShiftKeyMask )
        NSLog(@"shift pressed %@", [datePicker dateValue]);

    else
        NSLog(@"hello %@", [datePicker dateValue]);

}

问题是,当我在nsdatepicker日历中单击日期时,委派似乎不起作用。
问:这个代表团怎么了?target/action方法工作正常。
问:对于NSDatePicker支持的委托方法,我可以使用什么文档?

最佳答案

必须将此方法添加到代码中:

- (void)datePickerCell:(NSDatePickerCell *)aDatePickerCell validateProposedDateValue:(NSDate **)proposedDateValue timeInterval:(NSTimeInterval *)proposedTimeInterval
{
   NSString *aDate = [myDateFormat stringFromDate:*proposedDateValue];
}

从ib中,选择datepickercell,右键单击,将委托条目拖到文件的所有者框中。

10-05 20:21