Как я могу исправить эти ограничения, чтобы текст отображался справа от изображения в моем UITableViewCell? - PullRequest
0 голосов
/ 26 марта 2020

У меня проблемы с моими ограничениями на мои UITableViewCells, и я не могу понять, как исправить эти ограничения, которые я кодировал. Я хочу, чтобы текст растягивался через ячейку и начинался справа от изображения с крайней левой стороны. Я просто хочу, чтобы текст центрировался в ячейке, если это возможно, но я не уверен, как достичь этой цели. На данный момент у меня есть ширина, установленная на высоту текста, но если вы сможете помочь мне, чтобы текст находился рядом с изображением на левой стороне, это было бы очень полезно. Я также приложил изображение ниже текущей настройки (которая, как вы согласитесь, выглядит довольно некрасиво)

Вот код:

override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
    super.init(style: style, reuseIdentifier: reuseIdentifier)

    self.addSubview(mainImageView)
    self.addSubview(messageView)

    mainImageView.leftAnchor.constraint(equalTo: self.leftAnchor).isActive = true
    mainImageView.topAnchor.constraint(equalTo: self.topAnchor).isActive = true
    mainImageView.bottomAnchor.constraint(equalTo: self.bottomAnchor).isActive = true
    mainImageView.widthAnchor.constraint(equalToConstant: 50).isActive = true
    mainImageView.heightAnchor.constraint(equalToConstant: 50).isActive = true

    messageView.leftAnchor.constraint(equalTo: self.rightAnchor).isActive = true
    messageView.rightAnchor.constraint(equalTo: self.rightAnchor).isActive = true
    messageView.topAnchor.constraint(equalTo: self.topAnchor).isActive = true
    messageView.bottomAnchor.constraint(equalTo: self.bottomAnchor).isActive = true
    messageView.widthAnchor.constraint(equalTo: self.heightAnchor).isActive = true
}

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

1 Ответ

0 голосов
/ 26 марта 2020

сначала вам нужно установить

translatesAutoresizingMaskIntoConstraints = false

для каждого компонента перед добавлением ограничений.

после этого здесь вы устанавливаете верхнюю часть просмотра изображений, Низ и высота, ограничения ширины также. Каждый из них будет конфликтовать с другими. Вам нужно использовать только один их набор. Верх, низ или высота, ширина.

использование верха, нижние ограничения не рекомендуется. image stretchy иногда. Лучше, используя ограничения по ширине и центру изображения по центру Y.

    mainImageView.translatesAutoresizingMaskIntoConstraints = false
    mainImageView.leadingAnchor.constraint(equalTo: self.leadingAnchor,constant:16).isActive = true
    mainImageView.widthAnchor.constraint(equalToConstant: 50).isActive = true
    mainImageView.heightAnchor.constraint(equalToConstant: 50).isActive = true
    mainImageView.centerYAnchor.constraint(equalTo: self.centerYAnchor).isActive = true

    messageView.translatesAutoresizingMaskIntoConstraints = false
    messageView.leadingAnchor.constraint(equalTo: mainImageView.trailingAnchor, constant: 16).isActive = true
    messageView.trailingAnchor.constraint(equalTo: self.trailingAnchor, constant: -16).isActive = true
    messageView.centerYAnchor.constraint(equalTo: self.centerYAnchor).isActive = true

Вы можете центрировать текст в просмотре сообщений, используя textAlignment

More info

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...