[iPhone] - 시작하세요! 아이폰 3 프로그래밍 - Part 6. 멀티뷰 애플리케이션

iPhone/[위키북스]시작하세요! 아이폰3 프로그래밍 2010. 7. 12. 22:06

* 탭바 / 툴바
- 탭바 : 두 개 이상의 대상 중 단 하나만 고를 때 사용한다. 실제 애플리케이션에서 탭바는 두 개 이상의 컨텐츠 뷰를 선택하기 위해서 사용
- 툴바 / 버튼과 다른 특정 컨트롤을 담을수 있지만 상호배타적이지 않다. 일반적인 작업을 수행하는 버튼을 나타내기 위해 사용된다. 툴바 버튼은 다른 아이폰 커트롤과 다른다. 툴바 버튼은 오직 하나의 액션만 지원하고 다른 아이폰 컨트롤의 Touch up inside이벤트 같이 적절한 순간에만 그 액션을 유발한다.

* -(void)viewDidLoad
- nib이 로드 될때 호출되는 UIViewController의 메서드이다. viewDidLoad 메서드는 상위클래스에 정의되어 있고 뷰의 로딩이 끝났을 때 호출되기 때문에 뷰의 로딩 완료 시점을 알고 싶은 클래스에서 재정의(overriding)한다.

* -(void)didReceiveMemoryWarning
- 아이폰 OS는 메모가 부족하여 시스템 자체적으로 메모리를 삭제하려고 결정할 때 뷰 컨트롤러에 의해 상속되는 UIViewController의 메서드인 didReceiveMemoryWarning 메서드를 호출한다.

* 전환시 애니메이션 주기
1. [UIView beginAnimations:@"view Flip" context:nil];
- 첫번째 인자는 애니메이션 블록의 제목이다. 이 제목은 애니메이션을 재생시키는 코어 애니메이션 프레임워크를 사용할때 참조한다.
- 두번째 인자는 (viod *)타입으로 이 애니메이션 블록과 결합시키려는 객체의 포인터를 사용한다.

2. [UIView setAnimationDuration:1.25f]
- 애니메이션의 속도를 결정

3. [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]
- 애니메이션 커브를 설정. 일정한 속도롤 진행 하는 선형 커브

4. [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.view cache:YES]
- 트랜지션 설정 아이폰에서는 네개의 뷰 트랜지션을 선택 할수 있다.
+ UIViewAnimationTransitionFlipFromLeft
+ UIViewAnimationTransitionFlipFromRight
+ UIViewAnimationTransitionCurlUp
+ UIViewAnimationTransitionCurlDown

- 캐쉬(cache)옵션은 애니메이션을 시작할 때 뷰의 스냅샷을 직어서 매 단계마다 다시 그리지 않고 이미지를 사용해 뷰를 그리는 속도를 높여준다. 애니메이션을 진행하는 동안 뷰의 모습이 바뀌지 않으면 항상 캐시를 사용한다.

5. 트랜지션을 설정한 후 트랜지션할때 사용하는 뷰별로 각각 한번 씩 메서드를 호출한다.
- [self.blueViewController viewWillAppear:YES];
- [self.yellowViewController viewWillDisappear:YES];

6. 뷰 바꾸기가 끝나면 이 뷰들에 대해 두 번의 호출을 더 한다.
- [self.yellowViewController viewDidDisappear:YES];
- [self.blueViewController viewDidAppear:YES];

: