加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iphone – 在模态segue之后删除最后一个UIViewController

发布时间:2020-12-14 17:38:20 所属栏目:百科 来源:网络整理
导读:所以我在故事板中有3个视图控制器,(VC1,VC2和VC3). 每个视图都有一个调用IBAction的按钮,该按钮调用此方法以模态转换到另一个视图: [self doSegue: myViewController_ID];-(void) doSegue:(NSString *)_myViewController_ID{ //get UiViewController from s
所以我在故事板中有3个视图控制器,(VC1,VC2和VC3).

每个视图都有一个调用IBAction的按钮,该按钮调用此方法以模态转换到另一个视图:

[self doSegue: myViewController_ID];

-(void) doSegue:(NSString *)_myViewController_ID
{
    //get UiViewController from storybord with Unique ID
    UIStoryboard *storyboard = self.storyboard;
    UITableViewController *svc = [storyboard instantiateViewControllerWithIdentifier:_myViewController_ID];

    //set presentation & transition styles
    svc.modalPresentationStyle = UIModalPresentationFullScreen;
    svc.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;

    //do segue
    [self presentViewController:svc animated:YES completion:nil];
}

让我设置从VC1到VC2,一次在VC2

我想要的是删除以前的ViewController(VC1).
如果我现在从VC2转到VC3,我想从视图层次结构中移除或堆栈VC2,依此类推.

这是因为我不会提供[self dismissViewControllerAnimated:YES completion:nil];方法

我不希望内存随着堆栈中所有视图控制器的累积而增长.

注意:我不会使用导航控制器或标签控制器,只使用视图控制器.

谢谢你的帮助.

解决方法

只是一个猜测,我没试过……

在VC2上保留VC1的参考 – >使用prepareForSegue发送它:

然后在VC2上

[self.previousViewController willMoveToParentViewController:nil];
[self.previousViewController removeFromParentViewController];

只是为了确保在View Controller上插入

- (void)dealloc
{
   NSLog(@"dealloc: %@",self);
}

并看看控制台

编辑:
您可以在收到内存警告时执行此操作,而不是在segue之后删除每个视图控制器.您也可以尝试使用dismissViewControllerAnimated:完成:在segue之后

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.

    // ???
    if ([self isViewLoaded] && self.view.window == nil) {
        NSLog(@"UNLOADING");
        self.view = nil;
        [self dismissViewControllerAnimated:NO completion:nil];
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读