開始此範例之前, 必須先準備兩個不同的 view (這部份就不額外說明), 以筆者的例子而言, 有兩個 View, 一個是 OneView, 另一個則是 AnotherView, 在這兩個 View 裡面都包含了單一個 Button, 當點擊之後就可以在這兩個 View 之間做轉換.
真正要寫 Transition 的 code 其實很簡單, 以筆者的例子而言, 有兩種轉換方式, 其程式碼如下
-(void)FlipAnotherFromOne{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:window cache:YES];
[oneController.view removeFromSuperview];
[window addSubview:anotherController.view];
[UIView commitAnimations];
}
-(void)FlipOneFromAnother{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:window cache:YES];
[anotherController.view removeFromSuperview];
[window addSubview:oneController.view];
[UIView commitAnimations];
}
上面程式碼中的 setAnimationTransition 在 iPhone 裡面定義如下:
typedef enum {
UIViewAnimationTransitionNone,
UIViewAnimationTransitionFlipFromLeft,
UIViewAnimationTransitionFlipFromRight,
UIViewAnimationTransitionCurlUp,
UIViewAnimationTransitionCurlDown,
} UIViewAnimationTransition;
所以若需要不同的效果只要填上自己所需要的參數即可.
需要完整的範例可到 這裡 下載
沒有留言:
張貼留言