У меня странная проблема. У меня есть UIButton с настраиваемым фоном и одним персонажем, как его название. Я бы хотел, чтобы кнопка увеличивалась с анимацией. Анимация работает, однако, я больше не могу видеть название кнопки.Название 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];
}];
Как вы можете видеть, я начинаю с очень маленькой кнопкой и с трансформацией, я сделать кнопку больше в течение долгого времени. Я динамически вычисляю, каков коэффициент масштабирования моей кнопки.
Не могли бы вы объяснить, почему название кнопки не видно?
Вы проверили, что 'letterTextForIndex:' что-то возвращает? – yonosoytu
Да, я сделал, он возвращает строку, даже когда я жестко задаю строку как заголовок, она не работает. – Devos50