Без использования раскадровки.
Я пытаюсь добавить метку ошибки в любую ячейку, в которой значение не заполнено / не сохранено.Я пришел к выводу, что мне не нужно показывать эту логику, и проблема заключается в отображении нескольких ярлыков ошибок во всех / более чем одной ячейке tableView.
Я создал этот viewLabel для повторного использования:
struct Label {
static let errorLabel: UILabel = {
let label = UILabel()
label.frame = CGRect(x: 0, y: 0, width: 18, height: 18)
label.text = "!"
label.layer.cornerRadius = label.frame.height / 2
label.backgroundColor = UIColor.red
label.translatesAutoresizingMaskIntoConstraints = false
label.textAlignment = .center
label.textColor = UIColor.white
label.font = UIFont(name: "CircularStd-Black", size: 14)
label.clipsToBounds = true
return label
}()
}
Внутри cellForRowAt:
// I'm using detailTextLabel
let cell = UITableViewCell(style: .value1, reuseIdentifier: cellId)
cell.addSubview(Label.errorLabel)
// [...] constraints for Label.errorLabel
return cell
Исходя из этого примера, я ожидал бы показать красный кружок на всех ячейках, но вместо этого он показывает на последней ячейке.Почему?