иметь вертикальный вид стека, взять весь интервал внутри другого стека - PullRequest
0 голосов
/ 21 декабря 2018

Я пытаюсь получить следующий макет в ячейке таблицы (она имеет динамическую высоту):

enter image description here

Результат, который я получаю:этот второй вид стека не растягивается, чтобы добавить больше высоты, чтобы заполнить многострочную метку.result

  lazy var stackView: StackView = {
        let subviews: [UIView] = []
        let view = StackView(arrangedSubviews: subviews)
        view.axis = .horizontal
        view.alignment = .center
        self.containerView.addSubview(view)
        view.snp.makeConstraints({ (make) in
            make.edges.equalToSuperview().inset(inset)
        })
        return view
    }()

lazy var detailsStackView: StackView = {
    let subviews: [UIView] = []
    let view = StackView(arrangedSubviews: subviews)
    view.axis = .vertical
    stackView.alignment = .fill
    return view
}()

lazy var nameLabel: Label = {
    let view = Label(style: .styleBoldSize24)
    return view
}()

let detailsLabel: Label = {
    let label = Label(style: .styleRegular25)
    label.textAlignment = .left
    label.numberOfLines = 10
    label.text = "Where does it come from  Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of  anything embarrassing hidden in the mid words etc."
    return label
}()

lazy var avatarImageView: ImageView = {
    let view = ImageView(frame: CGRect())

    view.snp.makeConstraints({ (make) in
        make.width.height.equalTo(100)
    })
    return view
}()

override func setup() {
    super.setup()
    stackView.axis = .horizontal
    stackView.alignment = .top

    stackView.addArrangedSubview(avatarImageView)

    detailsStackView.spacing = self.inset
    detailsStackView.addArrangedSubview(nameLabel)
    detailsStackView.addArrangedSubview(detailsLabel)

    stackView.addArrangedSubview(avatarImageView)
    stackView.addArrangedSubview(detailsStackView)

    stackView.snp.remakeConstraints({ (make) in
        let inset = self.inset
        make.edges.equalToSuperview().inset(UIEdgeInsets(top: inset/2, left: inset, bottom: inset/2, right: inset))
    })}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...