DORONG TANPA ANIMASI: Cepat Inilah yang berhasil untuk saya.
import ObjectiveC
private var AssociatedObjectHandle: UInt8 = 0
extension UIViewController {
var isAnimationRequired:Bool {
get {
return (objc_getAssociatedObject(self, &AssociatedObjectHandle) as? Bool) ?? true
}
set {
objc_setAssociatedObject(self, &AssociatedObjectHandle, newValue, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
}
}
}
-------------------- SilencePushSegue --------------------
class SilencePushSegue: UIStoryboardSegue {
override func perform() {
if self.source.isAnimationRequired == false {
self.source.navigationController?.pushViewController(self.destination, animated: false)
}else{
self.source.navigationController?.pushViewController(self.destination, animated: true)
}
}
}
Penggunaan : Atur kelas segue dari storyboard seperti yang ditunjukkan pada gambar. setel isAnimationRequired dari viewcontroller Anda ke false dari tempat Anda ingin memanggil performSegue, saat Anda ingin mendorong segue tanpa animasi dan menyetel kembali ke true setelah memanggil self.performSegue. Semoga berhasil....
DispatchQueue.main.async {
self.isAnimationRequired = false
self.performSegue(withIdentifier: "showAllOrders", sender: self);
self.isAnimationRequired = true
}