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 に答える