Анимация UIButton alpha с фоном PNG: почему анимация становится ярко-белой при переходе от alpha = 0 к alpha = 1? - PullRequest
2 голосов
/ 10 августа 2011

Это то, что ставит меня в тупик; У меня есть простой UIButton со следующим PNG в качестве фона:

button

Я использую блочную анимацию iOS 4, и все, что я делаю, это анимация свойства alpha от 0.0 до 1.0. Однако во время анимации UIButton становится ярко-белым, прежде чем окончательно установится, чтобы выглядеть как на изображении выше, когда свойство достигнет 1,0.

Я довольно озадачен - если, например, я открою это изображение в Paint.NET и уменьшу непрозрачность изображения с 0 до 255, я увижу хороший эффект постепенного увеличения - это именно то, чего я добиваюсь , Но когда я анимирую изменение непрозрачности в iOS, кнопка становится ярко-белой во время средней части анимации.

Если я изменю продолжительность анимации на что-то расширенное, например, на 5 секунд, эффект станет еще более заметным. Есть идеи?

Редактировать: Я использую Xcode 4.1 и использую iOS 4.3.3 (iPad первого поколения).

1 Ответ

1 голос
/ 11 августа 2011

Оказывается, после долгих размышлений, проблема была в том, что моя UIButton была кнопкой Round Rect ;тип необходимо изменить на Custom .Несмотря на то, что фоновые изображения, которые я установил для своей кнопки, работали, когда был выбран тип Round Rect, применение альфа-анимации к кнопке по-прежнему приводило к появлению белого стиля Round Rect по умолчанию на время анимации.Это то, что мои глаза интерпретировали как «ярко-белый» во время анимации - это не имело никакого отношения к моему фону PNG, и все, что было связано с основным типом кнопки, которую я использовал.

Проблема решена.Мораль истории?Измените тип UIButton на Пользовательский , если вы собираетесь анимировать кнопку при использовании собственных фоновых изображений.

...