Попытка получить frame.height одного из 2 представлений, которые одинаково заполняются внутри стека - PullRequest
1 голос
/ 18 октября 2019

У меня есть 2 вида внутри вертикального стека (как половина, так и половина). Их ограничения зависят от этого стека. У меня есть горизонтальный вид стека (containerStackView3) внутри botHalfView. Его ограничения, ведущие, конечные и высота, зависят от botHalfView. В окне отладки я также вижу на консоли высоту bothalfview.frame.height = 0, которую я добавил в качестве ограничения для horizontalstackview. Таким образом, горизонтальный вид изнутри в обоих видах не показывает никакого измерения. Какому ограничению я должен назначить высоту горизонтального стека? Или любое другое решение этого?

       let containerStackView3 = UIStackView()
        containerStackView3.translatesAutoresizingMaskIntoConstraints = false
        containerStackView3.axis = .vertical
        containerStackView3.distribution = .fillEqually
        containerStackView3.spacing = 1
 //adding views
        containerStackView1.addArrangedSubview(botHalfView2)
        botHalfView2.addSubview(containerStackView3)

//constraints bothalfview 
        botHalfView2.bottomAnchor.constraint(equalTo: 
        containerStackView1.bottomAnchor, constant: 0).isActive = true
        botHalfView2.leadingAnchor.constraint(equalTo: 
        containerStackView1.leadingAnchor, constant: 0).isActive = true
        botHalfView2.trailingAnchor.constraint(equalTo: 
        containerStackView1.trailingAnchor, constant: 0).isActive = true

// Constraints of the stack view inside the bothalfview
        containerStackView3.leadingAnchor.constraint(equalTo: 
        botHalfView2.leadingAnchor, constant: 0).isActive = true
        containerStackView3.trailingAnchor.constraint(equalTo: 
        botHalfView2.trailingAnchor, constant: 0).isActive = true
        containerStackView3.bottomAnchor.constraint(equalTo: 
        botHalfView2.bottomAnchor, constant: 0).isActive = true

  containerStackView3.heightAnchor.constraint(equalToConstant:botHalfView2.frame.height).isActive = true

1 Ответ

1 голос
/ 18 октября 2019

Если вам нужна высота контейнера, равная половине бота, сделайте это // Ограничения стекового представления внутри обоих окон просмотра

    containerStackView3.leadingAnchor.constraint(equalTo: 
    botHalfView2.leadingAnchor, constant: 0).isActive = true
    containerStackView3.trailingAnchor.constraint(equalTo: 
    botHalfView2.trailingAnchor, constant: 0).isActive = true
    containerStackView3.bottomAnchor.constraint(equalTo: 
    botHalfView2.bottomAnchor, constant: 0).isActive = true
    containerStackView3.topAnchor(equalTo: 
    botHalfView2.topAnchor, constant: 0).isActive = true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...