0
나는 UIView
방법 animateWithDuration:animations
을 사용하여 활주를 움직이기 위해서 UIView
입니다. 약간 고르지 보입니다. 더 부드러운 애니메이션을 완성하기 위해 CoreGraphics와 같은 더 좋은 방법이 있습니까?iOS에서 가장 부드러운 애니메이션을 어떻게 얻을 수 있습니까?
나는 UIView
방법 animateWithDuration:animations
을 사용하여 활주를 움직이기 위해서 UIView
입니다. 약간 고르지 보입니다. 더 부드러운 애니메이션을 완성하기 위해 CoreGraphics와 같은 더 좋은 방법이 있습니까?iOS에서 가장 부드러운 애니메이션을 어떻게 얻을 수 있습니까?
당신은 다른 사용하려고 할 수 UIViewAnimationOptions
기본값은 UIViewAnimationOptionCurveEaseInOut
,하지만 당신은 다른 사람 시도 할 수 있습니다 : 당신이하고있는 모든 뷰를 슬라이딩 경우
[UIView animateWithDuration:1.0
delay:0.0
options:UIViewAnimationOptionCurveEaseOut
animations:^{
v.center = CGPointMake(400, 400);
}
completion:^(BOOL finished) {
}
];
는 animateWithDuration 완벽하게 좋은 선택이다 적절한 결과를 제공해야합니다. 고르지 않은 것으로 보이는 경우 누락 된 다른 문제가있을 수 있습니다. 애니메이션에 대한 또 다른 접근법은 CABasicAnimation과 같은 것을 사용하는 것입니다. CABasicAnimation은 레이어의 위치 속성 (또는 CALayer의 다른 애니메이션 가능한 속성)을 이동할 때 애니메이션/슬라이드를 시도하는 뷰의 레이어에 추가 될 수 있습니다. – isaac
이 뷰에 포함 된 하위 뷰의 수 (레이블, 이미지 등)가 모두 오버 헤드에 포함되도록 조사해야합니다. 이러한 뷰가 불투명하지 않으면 애니메이션 성능이 저하 될 수 있습니다. 또한 Mac의 시뮬레이터에서 오래된 또는 엉터리 grahics 카드를 사용하여 애니메이션 성능을 테스트하는 데주의하십시오. 망막 시뮬레이터에 고르지 않은 애니메이션이 보였지만 애니메이션은 실제 장치에서 부드럽습니다. – runmad
iOS Core Animation은 시뮬레이터에서 꽤 고르지 만 장치에서 원활하게 실행됩니다. 장치에서 테스트하십시오. 또한 디버거가 작업 속도를 늦출 수 있기 때문에 Xcode에 묶이지 않은 상태로 앱을 테스트해야합니다. –