Auto-layout really does introduce nightmarish levels of verbosity when you try to do layout in code.
I hope that Apple one day takes inspiration from Sundell's "Autolayout DSL" and comes up with a more lightweight syntax!
I hope that Apple one day takes inspiration from Sundell's "Autolayout DSL" and comes up with a more lightweight syntax!
Something like:
make.left.equalTo(foo.right).offset(15)
make.width.equalTo(400) label.topAnchor.constraint(equalTo: button.bottomAnchor, constant: 20),
and: $0.top == button.bottomAnchor + 20
(Sundell's first example), I'm not seeing a 'nightmare'. It's twice as long but it still fits on one line (the way I format it), and it's only a linear problem (2N vs N), and it only occurs for a few lines of one method of some classes. For people who care, it's possible to write extensions (as Sundell does) to solve it.There's definitely abstractions that are nightmarish to try to build in Swift and AppKit/UIKit, but I don't think this is one of them.
What would those be? Genuinely curious.