Высота и ширина tableViewCell изменяется при прокрутке в Swift - PullRequest
0 голосов
/ 11 февраля 2020

Я работаю над модулем чата на базе сокетов. Я использую 5 разных пользовательских ячеек в одном tableView для разных целей. Когда я прокручиваю tableView, он меняет макеты, ширину и высоту определенных ячеек. пожалуйста, помогите мне. Я перебрал слишком много вопросов от StackOverflow, но моя проблема не решается.

Ответы [ 2 ]

1 голос
/ 11 февраля 2020

Если вы установили автоматический c высоту или ширину строки на раскадровке, отмените ее, возможно, это изменит макет. В контроллере вида вы можете установить высоту следующим образом:

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {}
0 голосов
/ 12 февраля 2020

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

    extension UIView {
   func roundCorners(corners: UIRectCorner, radius: CGFloat) {
        let path = UIBezierPath(roundedRect: bounds, byRoundingCorners: corners, cornerRadii: CGSize(width: radius, height: radius))
        let mask = CAShapeLayer()
        mask.path = path.cgPath
        layer.mask = mask
    }
}

, чтобы решить мою проблему, я использовал следующий код в моей таблицеViewCell

 override func prepareForReuse() {
        super.prepareForReuse()
        self.layoutIfNeeded()

        self.chatTextView.clipsToBounds = true
              chatTextView.layer.cornerRadius = 10
        chatTextView.layer.maskedCorners = [.layerMaxXMaxYCorner, .layerMinXMaxYCorner, .layerMaxXMinYCorner]

        //set the cell to initial state here
        //set like the button to initial state - title, font, color, etc.
    }

}

, теперь мои клетки работают нормально:)

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