4

嘿,我試圖模仿可以在iPhone上的地圖應用程序中找到的部分頁面捲曲動畫。我能夠讓它部分捲曲,但工具欄捲曲的捲曲頁面,我不想。我只想讓屏幕底部的工具欄保持原狀,而地圖視圖本身捲起。頁面捲曲過渡動畫在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]; 

} 

任何人都知道我在做什麼錯了?或者有沒有人有更好的方法去做我想做的事情?謝謝!

回答

0

從UiView獲得的捲曲動畫始終爲全屏幕。太糟糕了。爲了獲得不同的捲曲效果,您必須使用OpenGL的 弄髒手。

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,地圖視圖在上面。當用戶點擊工具欄上的按鈕時,只有mapView被捲曲,上述動畫纔會播放出來。

希望是有道理的。