2010-07-26 3 views
1

나는 상단에있는 세그먼트 컨트롤을 가지고 있으며, 그 상태에 따라, 그것은 그들이 위치에있는 경우뿐만 아니라, 볼 수있는 슬라이더와 스위치를 결정합니다 내 iOS 앱의 기본 화면을 구축하고 싶습니다. 분할 된 컨트롤의 상태를 변경하고 화면의 레이아웃이 변경되면 새 레이아웃에 부드럽게 애니메이션을 적용하고 싶습니다. 이러한 종류의 동작에 대한 예는 iOS 기기의 the wireless settings에서 볼 수 있습니다. 다양한 세그먼트 컨트롤을 클릭하면 레이아웃이 애니메이션으로 표시됩니다.iOS 앱의 맞춤보기에서 UI 요소의 레이아웃을 어떻게 애니메이션으로 만드나요?

  1. 컨트롤을 숨기거나 위치를 변경하는 방법을 이해하지만 어떻게 애니메이션을 적용합니까? 나는 "willAnimate"매개 변수에 "YES"를 지정하는 데 익숙하지만 숨김 및 재배치 기능에는이 매개 변수가 포함되어 있지 않습니다. 인터페이스 빌더에서
  2. , 어떻게 하나의보기에서 컨트롤의 여러 레이아웃을 생성해야합니까? 컨트롤을 다른 컨트롤 위에 놓을 수 있습니까?

모두 도와 주셔서 감사 사전에 너무 많은! 이런

답변

2

1) 예시 :

[UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationDuration:1]; //1 sec duration 
    [UIView setAnimationDelegate:self]; 
    [UIView setAnimationDidStopSelector:@selector(myTransitionDidStop:finished:context:)]; 
      //what you want to animate goes here..... 

    [UIView commitAnimations]; 

또한 myTransitionDidStop는 : 완료 : 컨텍스트 : 애니메이션이 완료된 후에 실행되는 콜백 방법. 선택 사항이어야합니다.

2) 예, 단지 모든 요소를 ​​숨 깁니다. 런타임에 어떤 것을 표시할지 결정합니다.

+0

감사합니다, christo16, 나는 그것을 밖으로 시도 할 것이다! – BeachRunnerFred

+0

좋은 답변 선생님. –

+0

내가 블록을 사용하여이 방법을 선호 아이폰 OS 5.0에서 사용되지 언급해야, http://developer.apple.com/library/ios/#documentation/windowsviews/conceptual/viewpg_iphoneos/AnimatingViews/AnimatingViews.html#// 참조 apple_ref/doc/uid/TP40009503-CH6-SW4 – christo16

관련 문제