Search code examples
iosuistackviewstackview

iOS: Can't change a width in a horizontal stackview


I'm starting with iOS app and creating a table view. In my table I have a cell like this.

enter image description here

Now I need to center the horizontal stackview with stars vertically and horizontally. This stackview has fixed width and height.

It have to look like this.

enter image description here

For this I put it in another horizontal stackview. I tried to add the same constraints to it as you see for the label

The problem is that this external stackview does not stretch like a label. I also see that it's width and height are greyed out, I cannot change them. Why?

enter image description here


Solution

  • There are many ways to autolayout this.

    I think you should gain a better understanding of StackViews for future usage. I recommend reading on these resources:

    In order to achieve what you need:

    1. Use only 1 horizontal StackView containing the stars. Constraint the stackview to the label by center horizontally.

    2. Use 2 StackViews and keep your constraints. Outer stackview, change it to vertical axis and center alignment.

    Method 2 Image in Attributes Inspector (cmd + option + 4):

    Attributes Inspector1