I have been spending a lot of time trying to build an interface for a new version of one of my apps. I had a layout that was working visually, but unfortunately SwiftUI wasn’t up to making it work as it should. I have remade it multiple times over the last week in order to get buttons and pickers to work as they should.
Finally, tonight things started to work. I wish I could explain why they didn’t work in the first place, but oh well. It isn’t perfect and I still have a lot of things to add, but it is working.
I really like the idea of SwiftUI. It offers a nice escape from the usual interface builder and the never ending fight with constraints. But, it still has a lot of bugs that need to be squashed before it will really take off.
For me, my two fights were problems deleting pickers in a list, or making the keyboard pop up and work properly with those pickers. Most apps aren’t going to use a collection of pickers that need to be added and deleted, so my problems won’t help many of you. I ended up having to do some odd workarounds to make the delete happen. The keyboard issue kind of fixed itself in the process of attempting a ton of different ideas. I have since cleared out close to 200 lines of code that were added during my attempts to make it work. The most surprising part – it STILL WORKS. Yeah, I’m as shocked as you are.
If you want to develop your app with SwiftUI, go for it – but only if you have some time to work around its internal issues.
Here is a link to a page that answers many basic questions about SwiftUI and also a great rundown of the various features and how to use them: Fucking SwiftUI.