Динамическое изменение размера пользовательской ячейки XIB - PullRequest
0 голосов
/ 12 октября 2019

поэтому у меня возникли некоторые проблемы с моей пользовательской ячейкой xib, не изменяющей размер dymanicall на основе UILabel внутри ячейки. Я установил

    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    return UITableView.automaticDimension
    }
    func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
    return 250
    }

XIB Cell ViewController

import UIKit

class ReminderTableViewCell: UITableViewCell {

@IBOutlet weak var dateLabel: UILabel!
@IBOutlet weak var progressBar: UIProgressView!
@IBOutlet weak var notesLabel: UILabel!
@IBOutlet weak var titleLabel: UILabel!
override func awakeFromNib() {
    super.awakeFromNib()
    // Initialization code
    backgroundColor = .clear // very important
    layer.masksToBounds = false
    layer.shadowOpacity = 1
    layer.shadowRadius = 4

    layer.shadowOffset = CGSize(width: 2 , height: 2)
    layer.shadowColor = UIColor.darkGray.cgColor

    // add corner radius on `contentView`
    contentView.backgroundColor = .darkGray
    contentView.layer.cornerRadius = 8
    progressBar.transform = progressBar.transform.scaledBy(x: 1, y: 5)
    progressBar.layer.cornerRadius = 15
    progressBar.clipsToBounds = true
    self.layer.sublayers![1].cornerRadius = 15
    self.subviews[1].clipsToBounds = true
}

override func setSelected(_ selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: animated)


    // Configure the view for the selected state
}


func setInfo(title:String, notes:String,date:String){
    titleLabel.text = title
    notesLabel.text = notes
    dateLabel.text = date
}


override func layoutSubviews() {
    super.layoutSubviews()

    contentView.frame = contentView.frame.inset(by: UIEdgeInsets(top: 10, left: 15, bottom: 15, right: 10))
}

 }

Ограничения на XIB xib constraints

Как это выглядит Look

У меня есть строки для titleLabel и userNotes, установленные на 0, а также перенос слови то и другое.

Если вы, ребята, сможете мне помочь, я бы с удовольствием это поблагодарил.

1 Ответ

0 голосов
/ 12 октября 2019

раз ты должен попробовать вот так.

func tableView (_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {return 250}

func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableView.automaticDimension
}
...