GIF-related fixes

This commit is contained in:
Ali
2020-05-24 23:51:23 +04:00
parent 48dba115e6
commit 0fd80bba89
30 changed files with 4043 additions and 3853 deletions

View File

@@ -1057,11 +1057,31 @@ open class NavigationController: UINavigationController, ContainableController,
self.setViewControllers(controllers, animated: animated)
}
public func replaceTopController(_ controller: ViewController, animated: Bool, ready: ValuePromise<Bool>? = nil) {
ready?.set(true)
public func replaceTopController(_ controller: ViewController, animated: Bool, ready: Promise<Bool>? = nil) {
var controllers = self.viewControllers
controllers.removeLast()
controllers.append(controller)
if let rootContainer = self.rootContainer {
var controllerToReplace: ViewController?
switch rootContainer {
case let .flat(container):
controllerToReplace = container.controllers.last
case let .split(container):
controllerToReplace = container.detailControllers.last
}
if let controllerToReplace = controllerToReplace, let index = controllers.firstIndex(where: { $0 === controllerToReplace }) {
controllers[index] = controller
ready?.set(controller.ready.get())
} else {
ready?.set(controller.ready.get())
controllers.removeLast()
controllers.append(controller)
}
} else {
ready?.set(controller.ready.get())
controllers.removeLast()
controllers.append(controller)
}
self.setViewControllers(controllers, animated: animated)
}