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 Christian Beer on 2024-12-18 at 04:36

@siracusa I suppose someone wanted to support the following:

.padding(.vertical, 8)

.padding(.horizontal, 12)

at all cost? #SwiftUIWhy

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

Toot

Written by John Siracusa on 2024-12-18 at 04:42

@chbeer But…

.padding(vertical: 8)

.padding(horizontal: 12)

.padding(vertical: 8, horizontal: 12)

So…why?!

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

Descendants

Written by Christian Beer on 2024-12-18 at 05:39

@siracusa I know… very good question. I ask that myself often, too.

Also the .buttonStyle(…), .listStyle(…) implementation: even Xcode can‘t understand the complexity most of the time

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

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

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