1

我正在将此日历用于我的应用程序。

问题:如何调整这个日历的框架。我尝试这样做

calendar            =   [[TKCalendarMonthView alloc] init];
calendar.delegate   =   self;
calendar.frame      =   CGRectMake(0, 0, 200, calendar.frame.size.height);

但是它仍然显示为 360 的宽度

有没有人有任何线索如何做到这一点

4

1 回答 1

1

如果不对 TKCalendarMonthViewController 进行大量更改,您将无法更改月视图(图块)的宽度。例如,在 -(id)initWithSundayAsFirst 方法中,每个单独的瓦片/天的宽度设置为 46。

int i = 0;
for(NSString *s in ar){
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(46 * i, 29, 46, 15)];
    [self addSubview:label];
    label.text = s;
    label.textAlignment = UITextAlignmentCenter;
    label.shadowColor = [UIColor whiteColor];
    label.shadowOffset = CGSizeMake(0, 1);
    label.font = [UIFont systemFontOfSize:11];
    label.backgroundColor = [UIColor clearColor];
    label.textColor = [UIColor colorWithRed:59/255. green:73/255. blue:88/255. alpha:1];
    i++;
}

您会注意到,在许多方法中,图像用于单个图块的背景,因此您需要创建适合您的自定义宽度的图像。例如 -(void)reactToTouch:down 包含:

self.selectedImageView.image = [UIImage imageWithContentsOfFile:TKBUNDLE(@"TapkuLibrary.bundle/Images/calendar/Month Calendar Date Tile Selected.png")];
于 2012-07-23T15:37:11.977 回答