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

Reply via email to