Я использую tableview для Chat ViewController. Мне нужен размер, чтобы он соответствовал textView. Высота и ширина. Но я не могу сделать это с обоими параметрами.Текстовый вид в ячейке с автоматическим размером
Это первое ограничение времени, и оно выглядит как this. И это второе ограничение времени, и это выглядит как this.
Это код MyProfile Cell.
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
if messages[indexPath.row].image != nil {
tableView.rowHeight = 200
if !messages[indexPath.row].owner! {
let cell = self.chatTableView.dequeueReusableCellWithIdentifier("chatImageCell", forIndexPath: indexPath) as! ChatImageTableViewCell
cell.imageV.image = messages[indexPath.row].image
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(self.tappedAtImage(_:)))
cell.imageV.addGestureRecognizer(tapGesture)
cell.imageV.userInteractionEnabled = true
cell.transform = CGAffineTransformMakeRotation(CGFloat(M_PI))
return cell
} else {
let cell = self.chatTableView.dequeueReusableCellWithIdentifier("chatImageCellEnemy", forIndexPath: indexPath) as! ChatImageTableViewCell
cell.imageV.image = messages[indexPath.row].image
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(self.tappedAtImage(_:)))
cell.imageV.addGestureRecognizer(tapGesture)
cell.imageV.userInteractionEnabled = true
cell.transform = CGAffineTransformMakeRotation(CGFloat(M_PI))
return cell
}
} else if messages[indexPath.row].owner! {
tableView.rowHeight = UITableViewAutomaticDimension
let cell = self.chatTableView.dequeueReusableCellWithIdentifier("mymessageCell", forIndexPath: indexPath) as! MyChatTableViewCell
cell.transform = CGAffineTransformMakeRotation(CGFloat(M_PI))
cell.textView.text = messages[indexPath.row].text!
cell.textView.layer.cornerRadius = 8
cell.textView.layer.masksToBounds = true
cell.textView.textAlignment = .Right
cell.textView.textColor = .whiteColor()
cell.textView.sizeToFit()
cell.textView.layoutIfNeeded()
let unix = NSTimeInterval(messages[indexPath.row].unixDate!)
let messageDate = NSDate(timeIntervalSince1970: unix!)
cell.timeLabel.text = timeAgoSinceDate(messageDate, numericDates: true)
return cell
} else {
let cell = self.chatTableView.dequeueReusableCellWithIdentifier("messageCell", forIndexPath: indexPath) as! ChatTableViewCell
tableView.rowHeight = UITableViewAutomaticDimension
cell.transform = CGAffineTransformMakeRotation(CGFloat(M_PI))
cell.textView.text = messages[indexPath.row].text!
cell.textView.layer.cornerRadius = 8
cell.textView.layer.masksToBounds = true
cell.textView.textColor = .blackColor()
cell.textView.sizeToFit()
cell.textView.layoutIfNeeded()
let unix = NSTimeInterval(messages[indexPath.row].unixDate!)
let messageDate = NSDate(timeIntervalSince1970: unix!)
cell.timeLabel.text = timeAgoSinceDate(messageDate, numericDates: true)
return cell
}
}
Спасибо!
Спасибо за ответ, но я не понял точно, что я сделал не так. Не могли бы вы помочь мне с кодом? – coolfrut
Какая проблема на самом деле вы сталкиваетесь, изображение, которое вы добавили в свои вопросы, с правой стороны изображения, я вижу результат, он выглядит правильно, но ваш код нуждается в значительной коррекции или, возможно, это ваша потребность, поэтому вы добавляете все вещи , для информации, что такое 'messages []'. –
сообщения - это массив struct Message, поэтому сообщение: struct Message { var text: String? var unixDate: String? статус: Int? var владелец: Bool? var id: String? var image: UIImage? } – coolfrut