Xcode 11 add new constraints set zero: use set value instead of default / standard
Seems like a bug (don't forget to file with Apple). Here's a simple workaround:
When you fill in the number in the "popover", instead of typing 0
, type 0.01
. This will prevent the number from changing mysteriously to "Standard". Okay, so 0.01
is not the same as 0
but it's close enough that you can't tell the difference, and at least you don't have to go back and change it later.
EDIT Apple says that this bug will be fixed in Xcode 11.4:
Fixed a bug that prevented entering a 0 constant in the constraint popup editors. (54076090)
While @matt workaround is working, I just want to add on that you can set it to 0.01 and then change it to 0, it won't change to the standard value again. Note: Xcode 11.3
As of Xcode 11.3.1:
The neatest and fastest solution I've found is as follows:
Simply type in -0
into the constraint field. Xcode appears to discard the negative and it behaves correctly, which is better than it reading 0.01
for everything.
You can insert all constraints at once, without having to do one at a time or go and edit later.
Xcode displays the values as this
It does seem like really dumb behaviour. Is there a reason that Apple might have made it do this deliberately...?
Edit: This doesn't seem to work every time, which is frustrating. I've just had a UIImageView show 0 to Superview, yet still visually be at the default value (20). This really does seem like a bug with the IB as the behaviour is totally illogical.
Edit 2: Seems to be fixed now - phew!