Как программно встроить представление стека в представление прокрутки

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

На данный момент я сделал:

Ввиду загрузки:

mainStackView.axis = UILayoutConstraintAxis.Vertical
mainStackView.spacing = 3
scrollView.frame =  self.view.bounds
scrollView.addSubview(mainStackView)
view.addSubview(scrollView)

В представлении делал макет:

override func viewDidLayoutSubviews()
    {
        super.viewDidLayoutSubviews()
        let top = topLayoutGuide.length
        let bottom = bottomLayoutGuide.length
                        self.mainStackView.frame = CGRect(x: 0, y: top, width: view.frame.width, height: view.frame.height - top - bottom).insetBy(dx: 10, dy: 10)
        dispatch_async(dispatch_get_main_queue())
            {

                self.scrollView.frame =  self.view.bounds
                self.scrollView.contentSize = CGSize(width: self.view.bounds.width, height: self.segmentedControl.frame.origin.y + self.segmentedControl.frame.height + 50)
        }
        print(scrollView.contentSize)
    }

person shafi    schedule 22.01.2016    source источник


Ответы (1)


Вам необходимо установить ограничение по высоте для управления сегментом.

Например:

 segmentedControl.heightAnchor.constraintEqualToConstant(50).active = true

Более того, вы можете добавить пустой вид снизу, чтобы избежать необходимости заполнения механизма представления стека. Это покажет вам желаемый результат просмотра.

        var bottomView = UIView(frame: CGRectZero)
        stackView.addArrangedSubview(bottomView)
person Samraan Khaan    schedule 22.01.2016