Я использую [UIView animateWithDuration:animations:]
, чтобы скрыть UIButton
, изменив frame.size.height
на 0
.Однако, как только начинается анимация, закругленный прямоугольник и фон немедленно исчезают, а текст кнопки отсекает границы вида.
Код, который я использую, довольно прост:
CGRect newFrame = button.frame;
newFrame.size.height = 0;
[UIView animateWithDuration:2.0 animations:^{
button.frame = newFrame;
}];
Я заметил, что это происходит только тогда, когда я устанавливаю высоту на 0. Кажется, что когда анимация начинается, кнопка просто перерисовывается один раз в своем конечном состоянии.Анимация выполняется путем масштабирования этого статического изображения от исходного размера до окончательного.Поскольку кнопка с высотой 0 не может быть видна, это приводит к исчезновению целого округлого прямоугольника (за исключением текста на кнопке, поскольку это другой вид).
Должен быть лучший способсделайте это, чтобы анимация не выглядела так странно.Как заставить анимацию вести себя так, как я хочу?