原因:
是某个viewController的生命周期控制出现了错误,所以尽量避免一个controller的view去addsubview另一个controller的view,这样会破坏层级关系,导致第一controller不能控制另一个controller的生命周期。
解决办法:
在presentViewController,需要添加 [mainVC addChildViewController:VC];
//先添加到主控制器
[self addChildViewController:vc];
//再先添加到主控制器的视图里面
[self.view addSubview:vc.view];
或者修改:
[self.parentViewController presentViewController:viewController animated:YES completion:nil]; 或
[self.view.window.rootViewController pushViewController:YOUR_VIEW_CONTROLER animated:YES];