Ancestors

Written by John Siracusa on 2024-12-18 at 03:31

Welcome to my new series on things I don’t understand about Apple’s premier user interface framework. I’m calling it…

[#]SwiftUWhy

To be clear, these are things I don’t understand, not necessarily things that are “wrong.” They sure look wrong (or at least “suboptimal”) to me! But maybe there are good reasons, and I just don’t know them yet. SwiftUI experts and historians, please tell me!

The first entry is coming up…

=> More informations about this toot | More toots from siracusa@mastodon.social

Written by John Siracusa on 2024-12-18 at 03:35

Why in the world does this interface look like this:

.padding(.top, 1)

.padding(.leading, 2)

.padding(.bottom, 3)

.padding(.trailing, 4)

…or this:

.padding(EdgeInsets(top: 1, leading: 2, bottom: 3, trailing: 4))

…instead of the much more idiomatic:

.padding(top: 1, leading: 2, bottom: 3, trailing: 4)

Like, who in the world thought of this foo(.key, value) API interface in a language with named parameters?!

[#]SwiftUWhy

=> More informations about this toot | More toots from siracusa@mastodon.social

Written by Adam Overholtzer on 2024-12-18 at 04:05

@siracusa It’s also strange that we can specify nil to apply “default” padding:

.padding(.top, nil)

… but EdgeInsets has no equivalent.

=> More informations about this toot | More toots from adam@iosdev.space

Toot

Written by Greg Pierce on 2024-12-18 at 04:09

@adam @siracusa It’s magical incantations all the way down, until they’re not magical.

I miss code you can reason about.

=> More informations about this toot | More toots from agiletortoise@mastodon.social

Descendants

Proxy Information
Original URL
gemini://mastogem.picasoft.net/thread/113671861904013365
Status Code
Success (20)
Meta
text/gemini
Capsule Response Time
259.604322 milliseconds
Gemini-to-HTML Time
1.415492 milliseconds

This content has been proxied by September (3851b).