iPhone中的页面翻页过渡动画会影响工具栏吗?

4

我正在尝试模仿iPhone上的地图应用中可以找到的部分页面卷曲动画。我能够让它部分卷曲,但工具栏会随着卷曲的页面一起卷曲,这不是我想要的。我只希望屏幕底部的工具栏在地图视图本身向上卷曲时保持原位。

我在导航控制器视图中显示了一个地图视图。对我来说,如果我从根视图控制器加载此视图,这是最有意义的,我也能够成功地实现,但动画效果并不如预期。页面卷曲动画没有发生,而是从右侧滑动视图,并且我设置的动画发生在视图内的按钮中。这真的非常奇怪... 我甚至尝试了非模态转换样式,并获得完全相同的效果。以下是相关代码:

-(IBAction)displayInfoButtonTapped {
    NSLog(@"ParkingRootViewController displayInfoButtonTapped");
    
    MapInfoView *mapInfoView = [[MapInfoView alloc] initWithNibName:@"MapInfoView" bundle:nil];
    
    
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:1];
    [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:mapInfoView.view cache:YES];
    [UIView commitAnimations];  
    
    [self.navigationController pushViewController:mapInfoView animated:YES];
    [mapInfoView release];
    
    [mapView displayInfoButtonTapped];
    
}

有人知道我做错了什么吗?或者有没有更好的方法来实现我想要的效果?谢谢!

2个回答

0

我已经实现了这个功能,通过使用多个视图并使用动画来移除顶部视图,使下面的视图保持不变。页面翻页没有触及工具栏。这是我的代码。

[UIView beginAnimations:nil context:NULL];
[self.mapView removeFromSuperview];
[UIView setAnimationDuration:1.5];  
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES];
[UIView commitAnimations];

所以我的视图控制器有一个MKMapView和一个tableView,地图视图在顶部。 当用户在工具栏上点击按钮时,将播放上述动画,只会将地图视图卷起来。
希望这有意义。

0

从UiView获得的卷曲动画总是全屏。太糟糕了。要获得不同的卷曲效果,您必须使用OpenGL。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接