2012年2月18日 星期六

iOS學習_使用presentModalViewController切換頁面

在iOS當中,若是要切換頁面,除了使用Navigation外,也可以在UIViewController使用presentModalViewController方法,將其他的View推進來。

方法:

MapMain_identifyResult *resultsVC = [[MapMain_identifyResult alloc] initWithNibName:@"MapMain_identifyResult" bundle:nil];
self presentModalViewController:resultsVC animated:YES];
[resultsVC release];

用法很簡單,只要將要推進來的View建立起來,再利用presentModalViewController方法即可。

若要將利用上述方法推進來的View退掉,就可以使用dismissModalViewControllerAnimated方法。

[self dismissModalViewControllerAnimated:YES];


但若是你的程式的架構比較複雜,比如說:在window上有超過一層的View,可能會在推進View的時候造成方向上的錯亂,則可以利用設定modalPresentationStyle為UIModalPresentationCurrentContext來解決。

resultsVC.modalPresentationStyle = UIModalPresentationCurrentContext;


除了UIModalPresentationCurrentContext以外,還有三種PresentationStyle:
1. UIModalPresentationFormSheet:view以視窗的方式出現,很像網頁上js遮照的效果。
2. UIModalPresentationFullScreen:整頁覆蓋。
3. UIModalPresentationPageSheet:直的時候是FullScreen效果,橫的時候是FormSheet效果。

除了控制出現的區塊,也可以控制出現的動畫,利用設定modalTransitionStyle完成。

resultsVC.modalTransitionStyle = UIModalTransitionStyleCoverVertical;


利用這些View的切換,就可以使App的界面更有變化。

沒有留言:

張貼留言