`

ios 中present 跳转与dismiss 回跳以及回跳中的参数传递

阅读更多

1.在第一个view的controller 的.h文件中创建一个协议

@protocol PassValueDelegate <NSObject>

-(void)passRecipeValue:(Recipe *)recipe;

@end

 2.在第一个view的controller 的.m文件中实现这个协议

-(void) passRecipeValue:(Recipe *)recipe
{
    self.selectedRecipe = recipe;
    [self.recipeDosageTableView reloadData];
}

3. 在第一个view的controller 的.m文件中利用present跳转方式进行跳转

    RecipeSelectViewController *rsviewCtr = [[[RecipeSelectViewController alloc ] init]autorelease];
    rsviewCtr.delegate = self;
    [self.navigationController presentViewController:rsviewCtr animated:YES completion:nil];

 4.在第二个view的controller 的.m文件中利用dismiss 和协议进行跳转和传递参数

BD_RecipeDosageViewController *rdCtr = [[[BD_RecipeDosageViewController alloc ]init]autorelease];
    rdCtr.selectedRecipe = tempRecipe;

    [self dismissViewControllerAnimated:YES completion:^{
        [self.delegate passRecipeValue:tempRecipe];
    }];

 该跳转是从屏幕下方弹出的效果。

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics