Обновить макет подпредставлений - PullRequest
0 голосов
/ 30 марта 2019

У меня была эта проблема в течение долгого времени, и я просто не могу найти ответ, который работает. Я все настраиваю программно.

Например, здесь я добавляю представление контейнера в ячейку представления коллекции.

 addSubviewWithConstraints(subview: containerView, 
     topAnchor: self.topAnchor, topConstant: 100, 
     leadingAnchor: self.leadingAnchor, leadingConstant: 50, 
     trailingAnchor: self.trailingAnchor, trailingConstant: -50, 
     bottomAnchor: self.bottomAnchor, bottomConstant: -100)

 containerView.addSubviewWithConstraints(subview: headerLabel,
     centerXAnchor: self.centerXAnchor, 
     centerYAnchor: self.centerYAnchor, 
     width: containerView.frame.width, 
     height: 44)

Когда я ссылаюсь на frame.width другого подпредставления, как я делаю в ограничениях headerLabel, он возвращает 0 и поэтому метка заголовка не видна. Это работает, если я жестко закодировал значение для ширины.

Это обычно происходит, когда суперпредставление инициализируется как CGSize.zero, а затем размер изменяется позже, но также по какой-то причине и в случае с этой ячейкой представления коллекции, даже если размер суперпредставления не изменился.

...