1

カスタム カレンダーのデザインに CATextLayer を使用しています。CAlayer を使用して毎月の数字を描画しています。しかし、次のボタンを押して次の月に移動すると、日付が重なっています。サブレイヤーを削除しようとしましたが、役に立ちませんでした。私を助けてください..

初期カレンダー

しかし、12月に移動すると。日付が重なる

ここに画像の説明を入力

私が使用したコードは次のとおりです。

 [date sizeWithAttributes:@{ NSFontAttributeName : [UIFont fontWithName:@"HelveticaNeue-Light" size:10.0] }];
            self.mainLayer = [self layer];
            [self.mainLayer setRasterizationScale:[[UIScreen mainScreen] scale]];

            self.messageLayer = [CATextLayer layer];
            [self.messageLayer setForegroundColor:[[UIColor blackColor] CGColor]];
            [self.messageLayer setContentsScale:[[UIScreen mainScreen] scale]];
            [self.messageLayer setFrame:CGRectMake(targetX+2, targetY+10, kVRGCalendarViewDayWidth, kVRGCalendarViewDayHeight)];
            [self.messageLayer setString:date];



            self.messageLayer.font = (__bridge CFTypeRef)@"HelveticaNeue-Bold";
            messageLayer.fontSize = 10;
            messageLayer.alignmentMode = kCAAlignmentCenter;
            [mainLayer addSublayer:messageLayer];

           [mainLayer setShouldRasterize:YES];
4

0 に答える 0