iPhone SDK: UIImageView - сворачивающаяся анимация - PullRequest
1 голос
/ 19 марта 2010

Я пытаюсь анимировать по экрану горизонтальную полосу с цветным градиентом. Для простоты я решил создать png полностью расширенной панели, назначить ее UIImageView и (попытаться) анимировать изменение ее размера с помощью анимации UIView. Проблема в том, что в «закрытом» состоянии изображения часть показа изображения не та, которую я хочу. Изображение расположено так, что от L до R возникает градиент белого от красного. Правая сторона (около 20 пикселей) имеет сплошной красный цвет и является той частью, которую я хочу показать, когда полоса «свернута». Я пытаюсь расширить изображение примерно на 100 пикселей до полной ширины. Я сослался на пример кнопки «Купить сейчас» для моего кода, так как он показался мне актуальным "

Анимация кнопки покупки UButton AppStore

Мой код:

[UIView beginAnimations:@"barAnimation" context:nil];
[UIView setAnimationDuration:0.6];

CGRect barFrame = bookBar.bounds;

if (fExtendBar)
{
    barFrame.origin.x -= 100;
    barFrame.size.width += 100;

}
else
{
    barFrame.origin.x += 100;
    barFrame.size.width -= 100;
}

    bookBar.frame = barFrame;
[UIView commitAnimations];

Я чувствую, что это должно быть возможно, возможно, установив offsetOfImage для отображения в UIImageView, но я не могу заставить его работать. Кроме того, я заметил, что такое поведение согласуется с тем, что происходит в Интерфейсном Разработчике при изменении размера изображения. С другой стороны, я думаю, что был бы способ переопределить это поведение программно. Любые предложения (включая другие подходы) приветствуются.

Спасибо, chris.o.

1 Ответ

0 голосов
/ 06 мая 2010

Я столкнулся с несколько более сложной версией того же вопроса.Вы пытались использовать CALayer и установить свойство contentsGravity?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...