Как установить высоту ячейки и метки в соответствии с текстом в табличном представлении Swift? - PullRequest
0 голосов
/ 26 марта 2020

Я делаю приложение чата, здесь, как установить метку и высоту ячейки в соответствии с текстом, поступающим из текстового поля.

Как изначально установить высоту ячейки = 50, затем следует изменить высоту соответственно тексту из текстового поля .

но изначально я получаю маленькую ячейку, почему?

enter image description here

я дал ограничения для метки

leading = 100, trailing to imageview = 10, top = 0, bottom = lessthenorequalto 0

для ограничения изображения:

top = 20 height, width = 50 trailing = 20

это код:

   override func viewDidLoad() {
    super.viewDidLoad()

   tableView.register(UINib(nibName: "ReceiverChatTableViewCell", bundle: nil), forCellReuseIdentifier: "ReceiverChatTableViewCell")
   tableView.register(UINib(nibName: "ReceiverChatTableViewCell1", bundle: nil), forCellReuseIdentifier: "Cell")

    self.tableView.estimatedRowHeight = 80
    self.tableView.rowHeight = UITableView.automaticDimension
    //tableView.reloadData()

    }

1 Ответ

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

когда вы используете UITableView.automaticDimension , вам необходимо установить верхние и нижние ограничения для вашей метки. Если вы устанавливаете его с помощью equalTo каждый раз, когда ячейка сохраняет это значение как фиксированное. Когда ваша метка имеет однострочную высоту метки + (верх, нижний отступ) меньше высоты вашего изображения, то это означает, что изображение обрезается в вашем case.

using equalTo

Используйте lessThanOrEqualTo вместо использования equalTo для нижних ограничений вашего ярлыка.

addSubview(lblMessage)
addSubview(img)

img.translatesAutoresizingMaskIntoConstraints = false
img.centerYAnchor.constraint(equalTo: centerYAnchor).isActive = true
img.trailingAnchor.constraint(equalTo: trailingAnchor, constant: -16).isActive = true
img.widthAnchor.constraint(equalToConstant: 50).isActive = true
img.heightAnchor.constraint(lessThanOrEqualToConstant: 50).isActive = true

lblMessage.translatesAutoresizingMaskIntoConstraints = false
lblMessage.leadingAnchor.constraint(equalTo: leadingAnchor,constant: 16).isActive = true
lblMessage.trailingAnchor.constraint(equalTo: img.leadingAnchor, constant: -16).isActive = true
lblMessage.topAnchor.constraint(equalTo: topAnchor,constant: 16).isActive = true
lblMessage.bottomAnchor.constraint(lessThanOrEqualTo: bottomAnchor, constant: -16).isActive = true

enter image description here

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