У меня есть приложение чата с двумя пользовательскими ячейками, ячейкой отправителя и получателя. После того, как ячейки заполнены, можно щелкнуть только те, у которых есть текст «показать изображение». Я пытаюсь нажать на эти ячейки, чтобы
Функция касания работает, но я не могу выполнить вышеуказанные шаги. Пожалуйста, помогите, потому что я не знаю, как это сделать
Вот мой код
@objc
func tapFunctionCell(sender:UITapGestureRecognizer) {
print("tap again sen")
let tapLocation = sender.location(in: tblViewChat)
let indexPath = self.tblViewChat.indexPathForRow(at: tapLocation)
let position = indexPath?.row ?? 0
print(position)
let cell = tblViewChat.dequeueReusableCell(withIdentifier: "senderCell") as! SenderTblCell
cell.lblMessage.isHidden = true
let url = URL(string:objChatVM.getMessage(index:position))
print(url)
cell.ImageB.kf.setImage(with:url)
cell.ImageB.isHidden = false
}
@objc
func tapFunction(sender:UITapGestureRecognizer) {
print("tap again receive")
let cell2 = tblViewChat.dequeueReusableCell(withIdentifier: "receiverCell") as! ReceiverTblCell
cell2.lblMessage.isHidden = false
let tapLocation = sender.location(in: tblViewChat)
let indexPath = self.tblViewChat.indexPathForRow(at: tapLocation)
let position = indexPath?.row ?? 0
print(position)
let url = URL(string:objChatVM.getMessage(index:position))
print(url)
cell2.imageButton.kf.setImage(with:url)
cell2.imageButton.isHidden = false
}
Проблемы в коде функции касания. Если вы хотите получить ячейку из пути индекса, используйте метод табличного представления cellForRow. так вместо этого
let cell = tblViewChat.dequeueReusableCell(withIdentifier: "senderCell") as! SenderTblCell
используйте это для обоих действий крана.
let cell = tblViewChat.cellForRow(at: indexPath) as! SenderTblCell
пусть ячейка = self.tblViewChat.cellForRow(at: indexPath!) as ! SenderTblCell Спасибо Раджа Кишан