-2

我正在将此日历用于 Titanium SDK。我需要做的是从服务器检索日期列表,如果日历上的日期有事件,则将图像添加到磁贴以表示该事件。我可以检索日期,但问题是日期并非特定于日期。例如,如果检索到的日期是 2012 年 8 月 12 日,则日期等于 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 变量中,但这根本不起作用。

4

2 回答 2

0

在我看来,这个控件一次只能使用一个月。

看看他们的示例代码。看到它删除了日历并在doPrevMonthanddoNextMonth函数中重新创建它。

由于您正在设置由日期编号引用的特定单元格的图像。您需要清除它,或在更改月份时重新设置它。

换句话说,你的问题没有意义,因为这个特殊的控件没有超过一个月的工作能力。标题也不符合您的要求。

如果您在每次绘制日历时都已经这样做了,那么只需检查输入日期是否与您显示的月份匹配。

于 2013-07-11T17:37:34.057 回答
0

将内置库与 Alloy 一起使用,即

require('alloy/moment');

Moment.js 是一个有用的库,用于处理特定时间的显示。

于 2015-05-07T11:55:04.983 回答