2

I’ve been struggling with a bug since I changed the version of Xcode 10.3 to 11 beta and iOS 12 to 13. This bug is related to UIVisualEffectView and the value of the blur changing while navigating through the App.

Basically It’s a bank App where the user has the possibilty to choose the visibility of his balance In the first view therefore the first view(DashBoard) has a view with the user balance where he can Hide or unhide it. As you can image to hide the balance we are using the UIVisualEffectView with blur effect. Where the view is settled in a Xib and linked to the class keeping it’s reference by outlet.

Everything works fine when we open the app for the first time and we see the blur covering the balance 100 % Not giving the possibility to the user to see it. The user can see it only if he touch on the view and switch to the visible option.

If the user goes out from the app or present another view over the dashboard ( the view holding the blur area ) Each time the user comes back to dashboard the blur decreases its value. It happens only if the user close and open the app or if the user presents some view over the dashboard and come back.

Everything worked fine in iOS 12 but in iOS 13 it decrease along the interaction the user is having with the app and turning back to the dashboard.

Compiling the app in iOS 12 with Xcode 10.3 I observer that the value of filters.gaussianBlur remains the same If the user present view over the dash board going around and coming back. I mean ( THE BLUR DOESN’T CHANGE FOR ANY REASON )

While compiling the same code with the same logic without change anything in Xcode 11 with IOS 13 the value of
filters.gaussianBlur.inputRadius decrease randomly until comes to 0 and showing all the are that should be hidden.

I can understand that is a weird behavior because everything works fine in iOS 12 but while changing version the value starts to decrease while the user is going around the app and turning back to dashboard until the user be capable to see the balance without touch on it.

I don't think it's necessary to show any code because the behavior works perfectly well in iOS 12.

But if necessary I'm open to post it.

Here I have some picture of this behavior

Value in IOS 12 after present some view over dashboard and come backe

If you observe the value remains the same always 20. (USING IOS 12)

Value in IOS 13 after present some views over dashboard adn come back in dashboard

Here the values decrease until arrives in 0 ( USING IOS 13)

These is the behavior I'm getting while presenting views over the dashboard and coming back.

first-presentation

second-presentation

third-presentation

fourth-presentation

I solved this problem by updating the instance of the UIVisualEffectView each time the viewAppears. So I’m not using outlet anymore. I’m creating a new instance and adding it to the view after remove the previous one. It’s a good work around but I think it’s a bug in iOS 13 that apple should take a look.

Marwen Doukh
  • 1,946
  • 17
  • 26

0 Answers0