1、在StoryBoard下頁面的切換引入了UIStoryboardSegue(聯線類),共有三種類型:push,modal,和custom,如圖下:
簡單說下這三個的做用:使用導航欄壓進新的控制器(push),模態的加載視圖控制器(modal),自定義(custom)
通常頁面的切換都是點擊源視圖控制器上的某個按鈕或某個view的touch事件,而後對應代碼裏有一個響應的方法去代碼版實現跳轉,可參考:《UIViewContrller 頁面之間 切換的幾種方式》http://blog.sina.com.cn/s/blog_74e9d98d01017vxn.html
在storyboard中有兩種方式:
1.直接點選button,按住Ctrl鍵拖拽至目的視圖控制器就能夠了,不用給button設置對應的響應事件
2.經過viewcontroller之間直接拖拽造成一個segue,而後指定這個segue的identifier,最後再源視圖控制器的代碼中適當位置調用:[self performSegueWithIdentifier:@"nextSegue" sender:self]; 就能實現跳轉
2、頁面間傳值
經常使用的傳值方式有單例、全局靜態變量,直接在源視圖控制器的跳轉代碼處指定目的試圖控制器類對象的變量值:
CmgeRechargeViewController *rechargeViewController = [[CmgeRechargeViewController alloc]init];
rechargeViewController.Abianliang = @"dfdf";
......
[self.navigationController pushViewController:rechargeViewController animated:YES];
在storyboard中只要在源視圖控制器代碼中重寫prepareForSegue方法:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([segue.identifier isEqualToString:@"nextSegue"]) { //可經過判斷segue的標示來實現源視圖控制器中多個跳轉事件
RecipeDetailViewController *destViewController = segue.destinationViewController; //獲取目的試圖控制器對象,跟原來同樣,在.m文件中要引入頭文件
html
destViewController.recipeName = @「ddd」;//設置變量傳值方式仍是和之前同樣ide
}spa
}.net
參考:http://blog.csdn.net/mad1989/article/details/79195043d
http://alan-hjkl.iteye.com/blog/1679905orm
http://ryan.easymorse.com/?p=72 //自定義segue類型htm
http://www.myexception.cn/mobile/828058.html
對象