我正在尝试构建一个位于主视图上方的子视图,该子视图大约是主视图大小的 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];
}
非常感谢对我的任何一个问题的任何帮助!