我正在使用Firebase在ios swift中开发聊天应用程序。我能够成功发送和检索消息。
但是问题是整个消息都向右或向左显示。我想以正确的方向显示发送者消息,而以左侧的方向显示接收者消息。使用以下代码,它可以向左或向右显示所有消息。
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cellchat:TVCChatTableViewCell = tableView.dequeueReusableCell(withIdentifier: "cellchat", for: indexPath) as! TVCChatTableViewCell
cellchat.setChat(chat: listofChatinfo[indexPath.row])
return cellchat
let cell = lachatlist.dequeueReusableCell(withIdentifier: "PostCell")
let uuid = Auth.auth().currentUser?.uid
if uuid == senderid {
cell?.textLabel?.textAlignment = .right
cell?.textLabel?.text = postData[indexPath.row]
}
// cell.setChat
//PostCell.
return cell!
}
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
答案 0 :(得分:0)
在情节提要中设置约束(跟踪和引导),然后在自定义单元格类中将它们设置为@IBOutlet,检查senderid == uid并更改约束。例如,左边的是8,右边的是120,表示当前用户的消息,左边的是120,右边的是8,表示当前用户的消息。
如果您的代码对您有好处,那么只需:
cell?.textLabel?.text = postData[indexPath.row]
if uuid == senderid {
cell?.textLabel?.textAlignment = .right
} else {
cell?.textLabel?.textAlignment = .left
}