Фон
Здравствуйте, у меня есть tableView с пользовательскими ячейками, как показано на рисунке ниже.
![enter image description here](https://i.stack.imgur.com/f0oL9.png)
Цель
Моя цель - сделать зеленые квадраты круглыми. Я попытался сделать это с кодом ниже.
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "ColorKeyCell", for: indexPath) as! ColorKeyCell
cell.colorCircleLabel.layer.cornerRadius = (cell.frame.size.width * 0.5)
cell.colorCircleLabel.layer.masksToBounds = true
cell.colorCircleLabel.backgroundColor = colorKey[indexPath.row].color
cell.exampleLabel.attributedText = colorKey[indexPath.row].basicExample
cell.explanationLabel.text = colorKey[indexPath.row].explanation
return cell
}
Issue
Если я закомментирую cell.colorCircleLabel.layer.masksToBounds = true
, появится зеленое поле, но не круглое. Если я раскомментирую это поле полностью исчезнет. Не только это, но если я использую cell.colorCircleLabel.layer.masksToBounds = true
только для одной из ячеек, при заполнении tableView, это также заставляет некоторые другие ячейки исчезать и в зеленых ячейках. Я много смотрел на переполнение стека, но не смог найти решение. Некоторые говорили, что вам нужно позвонить layoutIfNeeded()
в viewDidLayoutSubviews
. Примеры отличались от моего случая, но я думаю, что я попробовал это правильно, и это не сработало.
Я думал, что, возможно, это связано с настройками горизонтального stackView, или, может быть, с приоритетом объятия или сжатия на метках в stackView, но не совсем уверен. Вот изображение тех, кто на всякий случай.
![enter image description here](https://i.stack.imgur.com/UYell.png)
Зеленая коробка Приоритеты: обнимание 251, сжатие 750
Приоритеты ярлыка: обнимание 250 , Сжатие 750
Приоритеты звуковых кнопок: Обниматься 251, Сжатие 750
Любой совет очень ценится. Спасибо!