I'm trying to put two labels side-by-side using Autolayout--the left label is the field name while the right label is the value. I'm writing the constraints in Visual Language Format.
However, I don't want the left label to grow beyond its intrinsic width, and I want the right label to fill the remaining width in the screen. I know that I simply need to assign a higher content hugging priority on the left label's intrinsic width, but how do I write the intrinsic width in VLF?
I'm expecting my VLF string to look something like this:
H:|-20-[leftLabel(==intrinsicContentWidthGoesHere@1000)]-20-[rightLabel]-20-|
You can't do it. There are many things that can't be done in the visual format syntax; this is just one of them. The visual format syntax is good for what it's good for, but it can perform only quite a small subset of the most commonly needed settings of which constraints are capable. Just to give another example, you can't use it to set a center constraint.
There's nothing wrong with mixing and matching visual format syntax constraints with single constraints or other constraint commands. In your case, just send the view the setContentCompressionResistancePriority:forAxis:
command or the setContentHuggingPriority:forAxis:
command, and move on.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With