Popovers on iPad in SwiftUI render ugly corner aliasing when forcing a colorScheme

Development / iOS / Making of Captionista
Screenshot showing light anti-aliasing on popup corners

The app we’re working on is for adding subtitles to videos on your iPhone or iPad and because it is video oriented we’re forcing dark mode as the colour scheme using .environment(\.colorScheme, .dark).

This works great mostly, but we found that on iPad if you use popovers, the corners have a light antialiasing artefact if the system colour scheme is set to light.

Read More

Using SwiftUI .hoverEffect modifier on iPad causes doubling of visuals

Development / iOS / Making of Captionista
Screenshot of the ugly doubling effect you get when using hoverEffect

Another discovery on the trail to the Captionista release!

I thought I’d add .hoverEffect modifiers for the iPad UI to show the nice hover animations that iOS provides for pointing device users. Sadly, in SwiftUI this doubles up the visual of the buttons when focused. You move the pointer around and can see the lifted/translated version over the top of the original.

Read More

Sheets in SwiftUI on iPhone do not make the presenting view shrink behind

Development / iOS / Making of Captionista
Screenshot of modal sheet on iOS not shrinking the view behind

After solving the problem with SwiftUI adaptive popovers on iPad not dismissing properly on iPhone or in compact split view on iPad in Captionista, I noticed something…

If you show a modal sheet on iPhone, if you look closely you can see that the view behind does not shrink backwards as it would with a native UIKit modal presentation since iOS 13.

Read More