跳轉(zhuǎn)到controller
頁(yè)面孝情,并移除不需要顯示的控制器雹舀。
常用于支付成功
后,跳轉(zhuǎn)到支付成功頁(yè)
煌贴,但是支付頁(yè)
或者其他頁(yè)面
不需要顯示
御板,在成功頁(yè)
點(diǎn)擊返回按鈕
或者手勢(shì)返回
時(shí)候。
/// push到controler中并移除不需要顯示的控制器
/// - Parameters:
/// - controller: 顯示的控制器
/// - controllers: 移除不需要顯示的控制器
/// - animated: 是否需要?jiǎng)赢?huà)
- (void)showViewController:(UIViewController *)controller removeViewControllers:(NSArray<NSString * > *)controllers animated:(BOOL)animated{
NSMutableArray<UIViewController *> *newStackControllers = [NSMutableArray array];
__block NSArray<UIViewController *> *currentStackControllers = self.navigationController.viewControllers;
[currentStackControllers enumerateObjectsUsingBlock:^(UIViewController * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
if (![controllers containsObject:NSStringFromClass(obj.class)]) {
[newStackControllers addObject:obj];
}
}];
[newStackControllers addObject:controller];
[self.navigationController setViewControllers:newStackControllers animated:animated];
}
注:下載demo