我正在将此calendar用于Titanium SDK。我需要做的是从服务器检索日期列表,如果日历上的日期有事件,请向图块添加图像以表示该日期。我可以检索当天,但问题是这一天不是特定的日期。例如,如果检索的日期是08/12/2012,则该日期等于8.当我在代码中设置图像时,如下所示:
calendar.setImage(eventDay, 'path/to/image');
它设定了每个月的第8天,而不仅仅是12月8日。
以下是日历控制器中的setImage函数:
exports.setImage = function(day,image, options) {
var _ref3;
if (options == null) {
options = {};
}
if (moment.isMoment()) {
day = day.date();
}
tile = (_ref3 = $.calendar) != null ? _ref3["" + day] : void 0;
if ((tile != null ? tile.date : void 0) != null) {
tile.remove(tile.children[0]);
_.extend(tile, {
_isEntry: true
}, options);
return tile.add(Ti.UI.createImageView({
image: image,
width: TILE_WIDTH,
height: TILE_WIDTH,
touchEnabled: true
}));
}
};
我尝试更改代码以接受月份和年份,然后将额外的变量添加到_ref3变量,但这根本不起作用。
答案 0 :(得分:0)
在我看来,这个控件一次可以使用一个月。
看看他们的sample code。请注意,它会删除日历并在doPrevMonth
和doNextMonth
函数中重新创建日历。
因为您要设置特定单元格的图像,所以由日期编号引用。您需要清除它,或在您更改月份时重新设置它。
换句话说,你的问题没有意义,因为这个特定的控件无法工作超过一个月。标题与你要求的标题不符。
如果您每次绘制日历时都已经这样做,那么只需检查输入日期是否与您显示的月份相符。
答案 1 :(得分:0)
使用带有Alloy的内置库,即
require('alloy/moment');
Moment.js是一个用于处理特定时间显示的有用库。