iPhone анимация с растягивающимся изображением - PullRequest
1 голос
/ 14 июня 2010

Я получил подкласс UIView, который рисует UIImage в качестве фона. Изображение создано методом stretchableImageWithLeftCapWidth:topCapHeight:, оно имеет круглые края.

Я также использую анимационный блок, внутри которого я изменяю размер своего вида. Я надеялся, что во время анимации иногда вызывается метод drawRect:, что приводит к правильному прорисовке фонового изображения.

К сожалению, анимация, кажется, визуализирует изображение, а затем просто масштабирует его во время анимации, что, очевидно, приводит к тому, что ранее закругленные края стали противно растягиваться.

Единственный обходной путь, который я могу себе представить, это поместить три отдельных UIImageViews (верхняя крышка, средняя заливка, нижняя крышка) над моим исходным фоновым изображением, а затем переместить изображения верхних колпачков и масштабировать изображение заливки. Однако это кажется довольно сложным ...

Есть ли лучший способ, как я могу предотвратить это?

РЕДАКТИРОВАТЬ: Найдено это . Звучит плохо ...

1 Ответ

2 голосов
/ 15 июня 2010

При копании в некоторых документах Apple я случайно нашел решение своей проблемы. Все, что вам нужно сделать, это поиграть с параметром contentStretch в UIView. Это позволяет вам вручную указать область вашего обзора, которая растягивается во время анимации.

...