0

一連のアニメーションを実行する CAAnimationGroup を含むカスタム CALayer があります。これらのアニメーションの 1 つは、drawInContextメソッド内で使用されているスケール プロパティを設定します。

問題は、テキストを中心からうまく拡大縮小できないことです。

これはちょっとうまくいきますが、アニメーション中にテキストが少しびくびくしています:

NSString *letter = self.letterObject.letter;
UIFont *font = [UIFont fontWithName:@"Helsinki" size:20.0 * self.scale];
CGSize size = [letter sizeWithFont:font];
CGFloat width = size.width;
CGFloat height = size.height;

UIGraphicsPushContext(ctx);
[letter drawInRect:CGRectMake((self.frame.size.width - width) / 2.0,
                              (self.frame.size.height - height) / 2.0,
                              width,
                              height)
          withFont:font];
UIGraphicsPopContext();

私も単純に使用しようとしましCGContextScaleCTM(ctx, self.scale, self.scale);たが、これをテキストの中心から拡大縮小することはできません。

誰かがこれに光を当てることができますか?過去数時間、さまざまなことを試しましたが(UILabel.layer、CATextLayerなどを追加)、これが最もクリーンなソリューションです(推測します)。

4

0 に答える 0