Re: Alerts in Xcode 11
Re: Alerts in Xcode 11
- Subject: Re: Alerts in Xcode 11
- From: David Duncan via Cocoa-dev <email@hidden>
- Date: Mon, 30 Sep 2019 22:48:08 -0400
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 <email@hidden> 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 <email@hidden> 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
>>> <email@hidden> 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 (email@hidden)
>>>
>>> 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:
>>>
>>> This email sent to email@hidden
>>
>
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden