UITableViewCellAccessoryCheckmark and AutoLayout constraints

后端 未结 3 2101
别那么骄傲
别那么骄傲 2020-12-06 00:42

I have custom UITableViewCell and manage selection of my cells. When the cell is selected and the checkmark is presented, the cell Content View wid

3条回答
  •  慢半拍i
    慢半拍i (楼主)
    2020-12-06 01:02

    I had a similar (actually, the exact) problem, where the checkmark would push everything to the left.

    - EDIT:

    A few hours after my original answer, I realized it's a really simple issue.

    This push to the left is a constraint pushing the contentView of the cell. So?

    Connect the constraint from the item on the right (like the i button), to the cell itself, not its contentView.



    - Original answer (the actual answer is on top, this is for the record):

    I just realized there's a very simple solution. I had a button that was pushed left when checkmark was on and I had to keep a constraint to keep it in place (so that 'uncheck' won't move the button to the right). It was hard-coded 'width' from the right and overall just bad practice. Never mind that I could not 'get' that checkmark 'width' to do this dynamically.

    Solution?

    Hold a constraint from the left.

    That's it. I have a label too, so in my case: Constraint from the button left to the label (so they won't overlap) and from the button-left to left content-view. Basically, whatever moves on the right does not really 'reaches' the left side (rather have everything 'sitting' on the right).

提交回复
热议问题