session-ios/SessionUtilitiesKit/Utilities/UINavigationController+Util...

27 lines
952 B
Swift

// Copyright © 2024 Rangeproof Pty Ltd. All rights reserved.
import UIKit
public extension UINavigationController {
func pushViewController(_ viewController: UIViewController, animated: Bool, completion: (() -> Void)?) {
CATransaction.begin()
CATransaction.setCompletionBlock(completion)
pushViewController(viewController, animated: animated)
CATransaction.commit()
}
func popViewController(animated: Bool, completion: (() -> Void)?) {
CATransaction.begin()
CATransaction.setCompletionBlock(completion)
popViewController(animated: animated)
CATransaction.commit()
}
func popToViewController(_ viewController: UIViewController, animated: Bool, completion: (() -> Void)?) {
CATransaction.begin()
CATransaction.setCompletionBlock(completion)
self.popToViewController(viewController, animated: animated)
CATransaction.commit()
}
}