UIView를 "흔들어야"하는 경우가 많이 있습니다.UIView 흔들기 ...하지만 UIKit 역학을 사용하여
(예를 들어, 등등 ", 사용자가 잘못된 입력을 입력", "연결이 느리다" "컨트롤에 자식 사용자의 관심을 끌기"와.)
그것은 가능한 것이 UIKit 역학을 사용하여이 작업을 수행하는 ?
그래서 당신은 추가
그것에게 찔러주는 봄 개념을 ..
뷰를 가지고 가야 0,0
에서 말하고 싶지만는 말할 "왼쪽"
봄에 앞뒤로 흔들어야하므로 궁극적으로 다시 0,0
01에 정착해야합니다.
이것이 가능합니까? 애플 데모에서 예제를 찾을 수 없었다. 환호
Niels가 아래에서 매우 자세하게 설명 했으므로 스프링이 반드시 이러한 상황 중 일부에 대해 원하는 "피직스 느낌"이 아님을주의하십시오. 다른 상황에서는 완벽 할 수 있습니다. 지금까지 내가 아는 한, 모두 iOS 자체의 앱 (예 : 메시지 등)의 물리학은 UIKit Dynamics를 사용하므로 나에게 '봄에 튀는 UIView'를 처리 할 가치가 있습니다.
분명히 분명히 분명히 애니메이션과 함께 "비슷한"것을 할 수 있습니다. 예 ...
하지만 이제는 iOS의 나머지 부분과 동일한 '물리적인 느낌'이 없습니다. 당신이 UIKit 역학을 사용하려면
-(void)userInputErrorShake
{
[CATransaction begin];
CAKeyframeAnimation * anim =
[CAKeyframeAnimation animationWithKeyPath:@"transform"];
anim.values = @[
[NSValue valueWithCATransform3D:
CATransform3DMakeTranslation(-4.0f, 0.0f, 0.0f) ],
[NSValue valueWithCATransform3D:
CATransform3DMakeTranslation(4.0f, 0.0f, 0.0f) ]
];
anim.autoreverses = YES;
anim.repeatCount = 1.0f;
anim.duration = 0.1f;
[CATransaction setCompletionBlock:^{}];
[self.layer addAnimation:anim forKey:nil];
[CATransaction commit];
}
'animateWithDuration : delay : usingSpringWithDamping'은 UIKit 다이나믹스가 아닙니다. – matt
시도가 잘못 되었습니까? 그것은 나에게 좋아 보인다. – danh
내 견해 중 하나를 시도해 보니 괜찮아 보이지만 어쩌면 맛의 문제 일 수 있습니다. 초기에 애니메이션을 적용해야한다고 생각한다면 왜 처음에 애니메이션을 적용하지 않을까요? 그게 왜 "우아하지 않은가"? 아니면 또 다른 맛입니까? – danh