0

奇妙な問題があります。カスタム背景とタイトルとして 1 文字の UIButton があります。アニメーションでボタンを大きくしたいです。アニメーションは機能しますが、ボタンのタイトルが表示されなくなりました。

これが私のコードです:

UIButton *letterButton = [UIButton buttonWithType:UIButtonTypeCustom];
[letterButton.titleLabel setFont:[UIFont boldSystemFontOfSize:18.0f]];
[letterButton setTitle:[gameManager letterTextForIndex:curIndex] forState:UIControlStateNormal];
letterButton.frame = CGRectMake(curX + kLetterButtonSize / 2, curY + kLetterButtonSize / 2, 0.01f, 0.01f);
[letterButton addTarget:self action:@selector(pressedLetterButton:) forControlEvents:UIControlEventTouchUpInside];

UIImage *buttonImage = [[UIImage imageNamed:@"blueButton.png"]
                                resizableImageWithCapInsets:UIEdgeInsetsMake(18, 18, 18, 18)];
UIImage *buttonImageHighlight = [[UIImage imageNamed:@"blueButtonHighlight.png"]
                                         resizableImageWithCapInsets:UIEdgeInsetsMake(18, 18, 18, 18)];

[letterButton setBackgroundImage:buttonImage forState:UIControlStateNormal];
[letterButton setBackgroundImage:buttonImageHighlight forState:UIControlStateHighlighted];


[self.view addSubview:letterButton];

[UIButton animateWithDuration:0.20f delay:curIndex * 0.17f options:UIViewAnimationOptionTransitionNone animations:^
{
     letterButton.transform = CGAffineTransformMakeScale(kLetterButtonSize / 0.01f, kLetterButtonSize / 0.01f);
}
completion:^(BOOL finished)
{
     [letterButton setTitle:[gameManager letterTextForIndex:curIndex] forState:UIControlStateNormal];
 }];

ご覧のとおり、非常に小さなボタンから開始し、変換を行って、時間の経過とともにボタンを大きくしていきます。ボタンの倍率を動的に計算します。

ボタンのタイトルが表示されない理由を誰か教えてください。

4

1 に答える 1