Я не могу найти способ порадовать ограничения Auto Layout

Я пытаюсь сделать этот простой макет:

введите описание изображения здесь

Это просто UICollectionViewCell,

Но когда я ставлю все ограничения автоматического размещения, которые, по моему мнению, необходимы, я получаю это предупреждение:

NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints) 
(
    "<NSLayoutConstraint:0x17028dd40 H:[UIImageView:0x13fd3b000(48)]>",
    "<NSLayoutConstraint:0x17028e2e0 H:|-(8)-[UILabel:0x13fd3bfe0'Something as a title...']   (Names: '|':_UIVisualEffectContentView:0x13fd3ace0 )>",
    "<NSLayoutConstraint:0x17028e380 UILabel:0x13fd3bfe0'Something as a title...'.leading == UIImageView:0x13fd3b000.leading>",
    "<NSLayoutConstraint:0x17028e470 H:[UIImageView:0x13fd3b000]-(8)-[UILabel:0x13fd3b140'Lady Oracle']>",
    "<NSLayoutConstraint:0x17028e4c0 H:[UILabel:0x13fd3b140'Firstname Lastname']-(8)-|   (Names: '|':_UIVisualEffectContentView:0x13fd3ace0 )>",
    "<NSLayoutConstraint:0x17028e830 H:|-(0)-[UIVisualEffectView:0x13fe0ebd0]   (Names: '|':UIView:0x13fe142d0 )>",
    "<NSLayoutConstraint:0x17028e8d0 H:[UIVisualEffectView:0x13fe0ebd0]-(0)-|   (Names: '|':UIView:0x13fe142d0 )>",
    "<NSAutoresizingMaskLayoutConstraint:0x17428ee70 h=-&- v=-&- _UIVisualEffectContentView:0x13fd3ace0.width == UIVisualEffectView:0x13fe0ebd0.width>",
    "<NSAutoresizingMaskLayoutConstraint:0x17028fd20 h=--& v=--& H:[UIView:0x13fe142d0(50)]>"
)

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x17028dd40 H:[UIImageView:0x13fd3b000(48)]>

Как можно заключить из журнала, у меня есть следующие ограничения:

  • вид снизу контейнера: снизу, впереди и сзади выровнены по супер-виду
  • title: top, начальный и конечный интервал для просмотра контейнера. Нижний интервал для аватара пользователя.
  • аватар пользователя: иметь определенный размер (ширину и высоту), выровненный по горизонтали с заголовком, интервал по вертикали с заголовком, нижнее пространство для контейнера.
  • имя пользователя: верхний выравнивается по аватару пользователя, ведущий интервал к аватару пользователя, конечный интервал до контейнера.

У меня не может быть достаточных ограничений, чтобы сделать макет таким, каким я хочу, и избавиться от предупреждения. Макет выглядит, как и ожидалось, хотя.

1 ответ

Есть две вещи, о которых я могу думать:

  1. Вы забыли установить вид с помощью..

    [view setTranslatesAutoresizingMaskIntoConstraints:NO];
    
  2. размер ячейки collectionView слишком мал, когда представление collection пытается создать макет.

Другие вопросы по тегам