Question

I am using this calendar for my application.

Question : how to resize the frame of this calendar. I tried one by doing this

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

However it is still shown as width of 360

Does anybody have any clues how to do this

Was it helpful?

Solution

You won't be able to change the width of the month view (tiles) without making a lot of changes to TKCalendarMonthViewController. For example, the width of each individual tile/day is set to 46 in the -(id)initWithSundayAsFirst method.

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++;
}

You'll notice that images are used to for the backgrounds of individual tiles in many of the methods, so you would need to create images suitable for your custom width. For example -(void)reactToTouch:down contains:

self.selectedImageView.image = [UIImage imageWithContentsOfFile:TKBUNDLE(@"TapkuLibrary.bundle/Images/calendar/Month Calendar Date Tile Selected.png")];
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top