iPhone 5의 큰 화면 용 iPhone 앱을 업데이트하고 있는데 animateWithDuration:
에 문제가있는 것 같습니다. autolayout을 켜기 전에 UITextField가 첫 번째 응답자 상태가되면 인터페이스 요소가 화면 위로 약간 이동하고 UITextField가 첫 번째 응답자 상태를 잃어 버렸을 때 인터페이스 요소가 원래 위치로 다시 아래로 이동합니다. 이제, 그들은 단지 우연히 화면을 오갔다가 나는 이유를 모르겠습니다. 나는 아래의 코드를 사용하여 개체를 이동 (및 자동 레이아웃을 끄고이 일) :AutoLayout 및 animateWithDuration 문제
[UIView animateWithDuration:.25 delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
int offset = 160;
[object1 setFrame:CGRectMake(0, -offset, object1.frame.size.width, object1.frame.size.height)];
[object2 setFrame:CGRectMake(object2.frame.origin.x, object2.frame.origin.y-offset, object2.frame.size.width, object2.frame.size.height)];
[object3 setFrame:CGRectMake(object3.frame.origin.x, object3.frame.origin.y-offset, object3.frame.size.width, object3.frame.size.height)];
}
completion:^(BOOL finished){}];
그것이 일정한하여 개체를 이동하려고 함께 할 수있는 뭔가가 있나요? offset
을 0
으로 설정해도 모든 개체가 여전히 화면에서 벗어납니다. 내가 어떤 화면이 장치를 가지고 감지하고 다른 금액으로 개체를 움직이는 시도했지만, 그 중 하나를 작동하지 않았습니다. 아무도 아이디어가 있니?
미리 감사드립니다.
자동 레이아웃과 프레임 애니메이션이 서로 충돌합니다. 나는 이것을 iOS 6의 가장 큰 실수로 간주한다. 솔루션은 내 책 http://www.apeth.com/iOSBook/ch17.html#_animation_and_autolayout을 참조하십시오. – matt