2012-03-19 4 views
0

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

Я знаю, что мы можем анимировать изображения с помощью

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:25.0]; 
[UIView setAnimationTransition:(UIViewAnimationTransition) 110 forView:imgRipple cache:NO]; 
[UIView commitAnimations]; 

Но это воодушевляет, не держать пульсации. Я думаю, что мы можем получить рифленый образ, если мы остановимся или остановим анимацию до ее окончания. Является ли это возможным? как мы можем приостановить или остановить UIView Animation?

Если есть какая-либо альтернатива этому трюку, любезно упомяните об этом.

Спасибо.

ответ

3

я получил мое решение,

использовал этот код

CFTimeInterval pausedTime = [imgRipple.layer convertTime:CACurrentMediaTime() fromLayer:nil]; 
    imgRipple.layer.speed = 0.0; 
    imgRipple.layer.timeOffset = pausedTime; 

и он приостановлен

+1

Я нашел его здесь https://developer.apple.com/library/ios/#qa/qa2009/qa1673.html – HarshIT

+2

Это хорошее решение. Рад, что ты это нашел. – erkanyildiz

2

Я не уверен, если это дает вам то, что вы хотите, но вы можете остановить анимацию, используя те:

#import <QuartzCore/QuartzCore.h> 

[CATransaction begin]; 
[myView.layer removeAllAnimations]; 
[CATransaction commit]; 

Вы можете получить текущее состояние до остановки анимации с использованием представительский уровень:

CALayer* myPreLayer = [myView.layer presentationLayer]; 
CATransform3D currentTransform = [myPreLayer transform]; 
//if you need some specific info, you can use key-value pairs 
float currentAngle = [[myPreLayer valueForKeyPath:@"transform.rotation.z"] floatValue]; 
+0

Извините, но останавливает анимацию, а не приостанавливает ее. по вызову он сбрасывает изображение в исходное состояние. – HarshIT

+1

Вы можете получить текущее состояние из presentationLayer и установить его вручную. – erkanyildiz

+0

presentationLayer, это свойство? Как получить к нему доступ, любая идея? – HarshIT

Смежные вопросы