I tried that and swift complains that self is not defined. This is not in a view controller but a stand alone function used in many view controllers. Generally it is used during a segue, but I added one in a view controller to a button action, not part of a segue and it dismissed the alert also.
-- Doug > On 30 September 2019, at 19:48, David Duncan <david.dun...@apple.com> wrote: > > Instead of creating a new window and a root view controller in order to > present your alert, just use (assuming self is a UIViewController) > self.present(<alert controller>, animated: <true/false> completion: …) > >> On Sep 30, 2019, at 5:48 PM, Doug Hardie <bc...@lafn.org> wrote: >> >> Not sure how to do that. It's not in any view controller as it is used in >> virtually all of the various view controllers. That's why I wanted it as a >> function. >> >> -- Doug >> >>> On 30 September 2019, at 14:44, David Duncan <david.dun...@apple.com> wrote: >>> >>> What happens if you present it over your normal view controller hierarchy >>> instead of using another window? >>> >>> Has your application adopted UIWindowScene? >>> >>>> On Sep 30, 2019, at 5:36 PM, Doug Hardie via Cocoa-dev >>>> <cocoa-dev@lists.apple.com> wrote: >>>> >>>> I have some code that presents an alert to the user with information they >>>> need, and an OK button to clear it. It works fine in the previous Xcode >>>> versions. However, after upgrading to 11, it now displays the alert and >>>> then immediately clears it. This happens both in the simulator and on a >>>> real device. I have played around with the code and can't figure out how >>>> to make it leave the alert on the screen. This is in Swift. It is a >>>> function that is called from numerous places in the app. >>>> >>>> func NotificationAlert (_ msg1: String, _ msg2: String) { >>>> let ErrorAlert = UIAlertController(title: msg1, message: msg2, >>>> preferredStyle: .alert) >>>> let dismiss = UIAlertAction(title: "Ok", style: .default, handler: nil) >>>> ErrorAlert.addAction(dismiss) >>>> ErrorAlert.presentInOwnWindow(animated: true, completion: nil) >>>> } >>>> >>>> extension UIAlertController { >>>> func presentInOwnWindow(animated: Bool, completion: (() -> Void)?) { >>>> let alertWindow = UIWindow(frame: UIScreen.main.bounds) >>>> alertWindow.rootViewController = UIViewController() >>>> alertWindow.windowLevel = UIWindow.Level.alert + 1; >>>> alertWindow.makeKeyAndVisible() >>>> alertWindow.rootViewController?.present(self, animated: animated, >>>> completion: completion) >>>> } >>>> } >>>> >>>> >>>> -- Doug >>>> >>>> _______________________________________________ >>>> >>>> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) >>>> >>>> Please do not post admin requests or moderator comments to the list. >>>> Contact the moderators at cocoa-dev-admins(at)lists.apple.com >>>> >>>> Help/Unsubscribe/Update your Subscription: >>>> https://lists.apple.com/mailman/options/cocoa-dev/david.duncan%40apple.com >>>> >>>> This email sent to david.dun...@apple.com >>> >> > _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com