presentViewController显示了一个视图控制器。它不返回视图控制器。如果您没有使用
UINavigationController,则可能正在寻找
presentedViewController,您需要从根开始并遍历显示的视图。
if var topController = UIApplication.sharedApplication().keyWindow?.rootViewController { while let presentedViewController = topController.presentedViewController { topController = presentedViewController } // topController should now be your topmost view controller}对于Swift 3+:
if var topController = UIApplication.shared.keyWindow?.rootViewController { while let presentedViewController = topController.presentedViewController { topController = presentedViewController } // topController should now be your topmost view controller}对于iOS 13+
let keyWindow = UIApplication.shared.windows.filter {$0.isKeyWindow}.firstif var topController = keyWindow?.rootViewController { while let presentedViewController = topController.presentedViewController { topController = presentedViewController }// topController should now be your topmost view controller}


