0
我試圖構建一個位於主視圖上方的子視圖,該視圖大約是主視圖大小的3/4。當按下按鈕時,子視圖應該翻轉到另一個子視圖。我很接近,但有兩個問題。在主視圖上方翻轉子視圖
第一個問題是,第一次按下翻蓋按鈕時,第二個子視圖以全屏幕開始並收縮到指定的幀大小,而不是呈現任何翻轉動畫。
一旦呈現了第二個視圖,我就可以在第一個和第二個視圖之間切換(爲了測試的目的,我添加了第二個按鈕來翻轉)。
我的第二個問題是,當視圖翻轉時,新視圖在翻轉之前加載,然後發生翻轉。在這之前,我已經構建了翻轉視圖,但只有當整個屏幕都是視圖時纔會這樣。
這裏是我的代碼,在我的主視圖控制器:
- (void)viewDidLoad {
Page1Controller *myPage1=[[Page1Controller alloc] initWithNibName:@"Page1Controller" bundle:nil];
Page2Controller *myPage2=[[Page2Controller alloc] initWithNibName:@"Page2Controller" bundle:nil];
self.page1 = myPage1;
self.page2 = myPage2;
[myPage1 release];
[myPage2 release];
[[page1 view] setFrame:CGRectMake(45, 40, 230, 280)];
[[self view] addSubview:[page1 view]];
[super viewDidLoad];
}
這裏是代碼爲兩個按鈕:
- (void)flipPressed:(id)sender {
[UIView beginAnimations:@"View Flip" context:nil];
[UIView setAnimationDuration:1.5];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:[page2 view] cache:YES];
[page1.view removeFromSuperview];
[[page2 view] setFrame:CGRectMake(45, 40, 230, 280)];
[[self view] addSubview:[page2 view]];
[UIView commitAnimations];
}
- (void)backFlipPressed:(id)sender {
[UIView beginAnimations:@"View Flip" context:nil];
[UIView setAnimationDuration:1.5];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:[page1 view] cache:YES];
[page2.view removeFromSuperview];
[[self view] addSubview:[page1 view]];
[[page1 view] setFrame:CGRectMake(45, 40, 230, 280)];
[UIView commitAnimations];
}
在任的我的問題,任何幫助,不勝感激!
謝謝 - 解決了第二個子視圖開始全屏縮小的問題。該視圖仍然不會在第一次按鈕點擊時翻轉,僅在隨後的按鈕單擊時纔會翻轉。 – 2009-07-10 17:09:33