Ipad: представить вид с эффектом уменьшения масштаба и удалить с эффектом увеличения масштаба - PullRequest
3 голосов
/ 18 апреля 2011

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

Спасибо заранее

1 Ответ

5 голосов
/ 18 апреля 2011

Вы можете сделать это с помощью CAAnimation для слоя вида:

CABasicAnimation *ani = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
[ani setDuration:0.5];
[ani setRepeatCount:1];
[ani setFromValue:[NSNumber numberWithFloat:1.0]];
[ani setToValue:[NSNumber numberWithFloat:0.1]];
[ani setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[[myView layer] addAnimation:ani forKey:@"zoom"];

Это добавляет анимацию, которая заставляет представление сжиматься в его центр. Возможно, вы захотите добавить набор делегатов и реализовать animationDidStop:finished:, в котором вы затем скрываете представление и сбрасываете масштаб слоя (см. Справочник CAAnimation ).

Чтобы создать противоположный эффект, просто поменяйте значения from и to.

Также обратите внимание, что, хотя масштаб не равен 1.0, свойство frame не определено. То есть, если вы попытаетесь переместить его или изменить его размер, пока масштаб слоя не равен 1,0, произойдут странные вещи.

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