-2
버튼을 누를 때 UIView의 하위 클래스를 움직여 간단한 애니메이션을 시도하고 있습니다. 버튼을 누르면 뷰가 xx 단위를 원래 위치에서 멀리 떨어 뜨리면 xx 단위만큼 떨어진 후 원래 위치로 되돌아가는 것이 문제입니다. 새로운 위치에서 멈추고 싶습니다. 내 코드에서 뭐가 잘못 되었나요?iOS의 애니메이션 버그
[UIView animateWithDuration:0.5f animations:^{
self.analogStick.frame = CGRectOffset(self.analogStick.frame, 0, -10);
}];
자동 레이아웃 제약 조건이 정의되어있는 뷰에 애니메이션을 적용하는 것이 문제입니다. 이것을 애니메이트하려면 맨 위의 컨 스트레인 트를위한 콘센트를 추가하고, 'constant' 속성을 변경 한 다음,'layoutIfNeeded'에 대한 호출을 애니메이트해야합니다. http://stackoverflow.com/a/28329399/1271826을 참조하십시오. – Rob
@Rob 처음으로 뷰를로드 할 때 애니메이션이 나타나면 뷰가로드 된 후에도 작동한다는 것을 설명합니까? 버튼을 누를 때마다 위치가 동적으로 업데이트됩니까? –
예, 버튼을 탭하면 상단 구속의 상수를 조정 한 다음 호출을 'layoutIfNeeded'에 애니메이션으로 나타냅니다. – Rob