您能以编程方式触发CPDatePicker图形日历上的按钮吗?我将日期对象设置为正常,但日历最初显示的是当前月份,今天的日期显示为蓝色,而不是dateValue月份。单击月箭头步进按钮之间的小圆圈按钮可将显示切换为dateValue。我在代码而不是IB中这样做。我已经搜索了CP和NS文档,但我被卡住了!
答案 0 :(得分:0)
CPDatePicker
的实现使用控件_CPDatePickerCalendar
以我认为您所询问的模式显示。此控件似乎将其视图设置为显示所选的日期:
- (void)setDateValue:(CPDate)aDateValue
{
var dateValue = [aDateValue copy];
[dateValue _dateWithTimeZone:[_datePicker timeZone]];
[_monthView setMonthForDate:dateValue];
[_headerView setMonthForDate:[_monthView monthDate]];
[self setNeedsLayout];
[self setNeedsDisplay:YES]; // <-- makes cappuccino redraw the calendar
}
在写入{dateValue
属性时,从CPDatePicker调用此方法。所以我相信你想要完成的是默认行为。
在设置日期时,也许CPCalendar不会作为子视图添加到CPWindow,因此在设置值时视图没有更新?