奇妙な問題があります。カスタム背景とタイトルとして 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];
}];
ご覧のとおり、非常に小さなボタンから開始し、変換を行って、時間の経過とともにボタンを大きくしていきます。ボタンの倍率を動的に計算します。
ボタンのタイトルが表示されない理由を誰か教えてください。