Регулировка размера UILabels (то есть ширины и высоты) внутри класса UITableViewCell? - PullRequest
0 голосов
/ 09 июля 2019

Я создал собственный класс UITableViewCell, как показано ниже, в результате чего я определил элементы, которые я хотел бы отображать внутри своей пользовательской ячейки (в частности, элементы UILabel):

import UIKit

import ChameleonFramework

class IsectionsCustomTableViewCell: UITableViewCell {

    let sectionDesignationLabelTopPadding: CGFloat = 10

    let sectionDesignationLabelLeftPadding: CGFloat = 10

    let sectionDesignationLabelRightPadding: CGFloat = 10

    let depthOfSectionLabelTopPadding: CGFloat = 0

    let depthOfSectionLabelLeftPadding: CGFloat = 10

    let depthOfSectionLabelRightPadding: CGFloat = 10

    let webThicknessLabelTopPadding: CGFloat = 10

    let webThicknessLabelLeftPadding: CGFloat = 10

    let webThicknessLabelRightPadding: CGFloat = 10

    var sectionDesignationLabel: UILabel = {

        let label = UILabel()

        label.backgroundColor = UIColor.yellow

        label.textAlignment = .left

        label.translatesAutoresizingMaskIntoConstraints = false

        label.textColor = UIColor(hexString: "#F27E63")

        return label

    }()

    var depthOfSectionLabel: UILabel = {

        let label = UILabel(frame: CGRect(x: 0, y: 0, width: 50, height: 50))

        label.backgroundColor = UIColor.blue

        label.translatesAutoresizingMaskIntoConstraints = false

        label.textColor = UIColor(hexString: "#F27E63")

        return label

    }()

        override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {

        super.init(style: style, reuseIdentifier: reuseIdentifier)

        addSubview(sectionDesignationLabel)

        addSubview(depthOfSectionLabel)

        applyAppropriateSizeAndConstraintsForCellItems()

    }

    required init?(coder aDecoder: NSCoder) {

        fatalError("init(coder:) has not been implemented")

    }

    func applyAppropriateSizeAndConstraintsForCellItems() {

        sectionDesignationLabel.frame.size.width = 200

        NSLayoutConstraint.activate([

            sectionDesignationLabel.leftAnchor.constraint(equalTo: self.leftAnchor, constant: sectionDesignationLabelLeftPadding),

            sectionDesignationLabel.rightAnchor.constraint(equalTo: self.rightAnchor, constant: -1*sectionDesignationLabelRightPadding),

            sectionDesignationLabel.topAnchor.constraint(equalTo: self.topAnchor, constant: sectionDesignationLabelTopPadding),

            depthOfSectionLabel.topAnchor.constraint(equalTo: sectionDesignationLabel.bottomAnchor, constant: depthOfSectionLabelTopPadding),

            depthOfSectionLabel.leftAnchor.constraint(equalTo: self.leftAnchor, constant: depthOfSectionLabelLeftPadding),

            depthOfSectionLabel.rightAnchor.constraint(equalTo: self.rightAnchor, constant: -1 * (((self.frame.size.width)/2) + depthOfSectionLabelRightPadding)),

            ])

    }

}

Как видно издекларация глубины раздела, в которой я указал ширину и высоту его рамки.Однако эти значения не отображаются, когда отображается моя таблица (см. Прикрепленное изображение).Ширина отображается гораздо больше, чем 50, указанное для этой конкретной метки?

Мой вопрос: как настроить ширину различных меток, которые будут отображаться в моей пользовательской ячейке tableView?

enter image description here

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