是否可以在iOS中回收/强制销毁UIViewController?问:如何强制销毁iOS中的视图控制器?
我用这github project得到一个定制UIViewControllerTransition:
这里是程序的流程:
vc1礼物给nav到的rootVc是vc2
在vc2有是UIButton。点击后,vc2的NavigatioCcontroller将被解雇。
但问题是,vc2不是由OS回收,所以当我进展为vc1,然后呈现给nav(这rootVc是vc2),vc2不调用viewDidLoad方法。
不知道问题出在哪里。有没有办法让我点击vc2的UIButton,强制销毁nav和vc2?这样,当我再次出现到nav时,vc2的viewDidload将再次被调用。
代码:
在vc1:
LMLQQSearchSelectViewController *search_vc = [[LMLQQSearchSelectViewController alloc] initWithNibName:@"LMLQQSearchSelectViewController" bundle:nil];
search_vc.fromController = @"KnowledgeViewController";
search_vc.pre_type = @"ENCYCLOPEDIACOL";
LMLQQSearchNavController *nav = [[LMLQQSearchNavController alloc] initWithRootViewController:search_vc];
nav.navigationBarHidden = YES;
__weak typeof(self) weakSelf = self;
_search_header.block = ^(){
weakSelf.transition = [[HYBEaseInOutTransition alloc] initWithPresented:^(UIViewController *presented, UIViewController *presenting, UIViewController *source, HYBBaseTransition *transition) {
HYBEaseInOutTransition *modal = (HYBEaseInOutTransition *)transition;
// If you don't specify, it will use default value
// Default is NO, if set to YES, it will use spring animation.
modal.animatedWithSpring = NO;
} dismissed:^(UIViewController *dismissed, HYBBaseTransition *transition) {
// do nothing
}];
nav.transitioningDelegate = weakSelf.transition;
[weakSelf presentViewController:nav animated:YES completion:NULL];
};
2016-09-29
aircraft