KISS 🇺🇦

Stop the war!

Stop the war in Ukraine! Fuck putin!

More information is at: https://war.ukraine.ua/.

There is a fund to support the Ukrainian Army: https://savelife.in.ua/en/donate/, and there is a special bank account that accepts funds in multiple currencies: https://bank.gov.ua/en/about/support-the-armed-forces. I donated to them. Please donate if you can!

Killer putin

Killer putin. Source: politico.eu.

Arrested putin

"It hasn't happened yet, but it will happen sooner or later. Beautiful photo, isn't it?" Source: twitter.

Can't create a constraint to the superview in Xcode 11's IB

| comments

After an upgrade to the latest Xcode 11.3.1, I stumbled upon a problem in the Interface Builder. Specifically, I opened an old XIB file to replace a now deprecated UIWebView with a WKWebView, added it and wanted to recreate the constraints of the old web view, most of which were relative to the superview, but failed. I tried Ctrl-dragging from the new web view to the parent view in the visual editor or to the View item in the left sidebar, but it was not selectable; the buttons at the bottom didn’t offer that option either. I’ve never had this problem in earlier Xcodes.

After a while, I came up with a workaround when I could make a leading space to the previous web view (or any other component), then go to the constraint’s properties and change the second item to “Superview” (later I found the same workaround here: https://stackoverflow.com/questions/58105491/cannot-equal-height-to-superview-in-xcode-11/59456827#59456827). However when I created most of the constraints this way, the IB complained about conflicting constraints, which I couldn’t understand. If that’s the best thing we have to do, then Xcode is getting worse.

Finally after some time, I discovered that the newly added web view has the autoresizing masks turned on by default. To fix that, select the view, open the Size inspector (Cmd+Option+6), and change “Layout” option from “Translates mask into constraints” to “Automatic”:

Now, magic, I can create the constraints to the superview! Why could I create only a subset of all constraints before? Why isn’t there a warning about this case somewhere in the IB? Why isn’t AutoLayout the default now? Beats me.

Comments