Swift Scroll View не прокручивается (все ограничения основаны)? - PullRequest
0 голосов
/ 05 июня 2019

У меня есть вид прокрутки, но он не прокручивается. И я устанавливаю все на основе ограничений.

Вот как я все добавляю:

    self.view.addSubview(scrollView)
    scrollView.topAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.topAnchor).isActive = true
    scrollView.leadingAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.leadingAnchor).isActive = true
    scrollView.trailingAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.trailingAnchor).isActive = true
    scrollView.bottomAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.bottomAnchor).isActive = true


    self.scrollView.addSubview(self.collectionView)
    self.scrollView.addSubview(segmentedControl)
    self.scrollView.addSubview(selectThemLabel)
    self.scrollView.addSubview(customButtonLabel)
    self.scrollView.addSubview(numOfButtonsLabel)
    self.scrollView.addSubview(enableMoreButtonLabel)
    self.scrollView.addSubview(BarLabel)
    self.scrollView.addSubview(changeButtonLabelView)
    self.scrollView.addSubview(enableButtonControl)
    self.scrollView.addSubview(dropDownButton)

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

{
    super.setConstraints()

    BarLabel.topAnchor.constraint(equalTo: self.scrollView.safeAreaLayoutGuide.topAnchor, constant: 40).isActive = true
    BarLabel.leadingAnchor.constraint(equalTo: self.scrollView.safeAreaLayoutGuide.leadingAnchor, constant: 30).isActive = true
    BarLabel.heightAnchor.constraint(equalToConstant: labelHeight).isActive = true
    BarLabel.widthAnchor.constraint(equalToConstant: labelWidth).isActive = true

    //collectionView
    collectionView.topAnchor.constraint(equalTo: BarLabel.bottomAnchor, constant: 0).isActive = true
    collectionView.leadingAnchor.constraint(equalTo: self.scrollView.leadingAnchor, constant: 0).isActive = true
    collectionView.trailingAnchor.constraint(equalTo: self.scrollView.trailingAnchor, constant: 0).isActive = true
    collectionView.heightAnchor.constraint(equalToConstant: 40).isActive = true

    selectThemLabel.topAnchor.constraint(equalTo: collectionView.bottomAnchor, constant: 60).isActive = true
    selectThemLabel.leadingAnchor.constraint(equalTo: self.scrollView.leadingAnchor, constant: 30).isActive = true
    selectThemLabel.heightAnchor.constraint(equalToConstant: labelHeight).isActive = true
    selectThemLabel.widthAnchor.constraint(equalToConstant: labelWidth).isActive = true

    segmentedControl.topAnchor.constraint(equalTo: selectThemLabel.bottomAnchor, constant: 0).isActive = true
    segmentedControl.leadingAnchor.constraint(equalTo: self.scrollView.leadingAnchor, constant: 20).isActive = true
    segmentedControl.trailingAnchor.constraint(equalTo: self.scrollView.trailingAnchor, constant: -20).isActive = true
    segmentedControl.heightAnchor.constraint(equalToConstant: 40).isActive = true

    customButtonLabel.topAnchor.constraint(equalTo: segmentedControl.bottomAnchor, constant: 60).isActive = true
    customButtonLabel.leadingAnchor.constraint(equalTo: self.scrollView.leadingAnchor, constant: 30).isActive = true
    customButtonLabel.heightAnchor.constraint(equalToConstant: labelHeight).isActive = true
    customButtonLabel.widthAnchor.constraint(equalToConstant: labelWidth).isActive = true

    numOfButtonsLabel.topAnchor.constraint(equalTo: customButtonLabel.bottomAnchor, constant: 0).isActive = true
    numOfButtonsLabel.leadingAnchor.constraint(equalTo: self.scrollView.leadingAnchor, constant: 20).isActive = true
    numOfButtonsLabel.trailingAnchor.constraint(equalTo: self.scrollView.trailingAnchor, constant: -20).isActive = true
    numOfButtonsLabel.heightAnchor.constraint(equalToConstant: 40).isActive = true

    dropDownButton.topAnchor.constraint(equalTo: numOfButtonsLabel.topAnchor, constant: 5).isActive = true
    dropDownButton.widthAnchor.constraint(equalToConstant: 120).isActive = true
    dropDownButton.trailingAnchor.constraint(equalTo: numOfButtonsLabel.trailingAnchor, constant: -10).isActive = true
    dropDownButton.bottomAnchor.constraint(equalTo: numOfButtonsLabel.bottomAnchor, constant: -5).isActive = true

    enableButtonLabel.topAnchor.constraint(equalTo: numOfButtonsLabel.bottomAnchor, constant: 10).isActive = true
    enableButtonLabel.leadingAnchor.constraint(equalTo: self.scrollView.leadingAnchor, constant: 20).isActive = true
    enableButtonLabel.trailingAnchor.constraint(equalTo: self.scrollView.trailingAnchor, constant: -20).isActive = true
    enableButtonLabel.heightAnchor.constraint(equalToConstant: 40).isActive = true

    enableButtonControl.topAnchor.constraint(equalTo: enableButtonLabel.topAnchor, constant: 5).isActive = true
    enableButtonControl.widthAnchor.constraint(equalToConstant: 120).isActive = true
    enableButtonControl.trailingAnchor.constraint(equalTo: enableButtonLabel.trailingAnchor, constant: -10).isActive = true

enableButtonControl.bottomAnchor.constraint(equalTo: enableButtonLabel.bottomAnchor, constant: -5).isActive = true

    changeButtonLabelView.topAnchor.constraint(equalTo: enableButtonLabel.bottomAnchor, constant: 20).isActive = true
    changeButtonLabelView.leadingAnchor.constraint(equalTo: self.scrollView.leadingAnchor, constant: 20).isActive = true
    changeButtonLabelView.trailingAnchor.constraint(equalTo: self.scrollView.trailingAnchor, constant: -20).isActive = true
    changeButtonLabelView.bottomAnchor.constraint(equalTo: self.scrollView.bottomAnchor).isActive = true

    labelTableHeight = changeButtonLabelView.heightAnchor.constraint(equalToConstant: CGFloat(dataSource.count) * inputTableCellHeight)
    labelTableHeight.isActive = true
}

Это все еще не прокрутка ?? Почему ??

Обновление:

Так что это прокрутка (вроде), проблема в том, что последнее представление таблицы было отрезано от моего экрана, и когда я прокручиваю, индикатор показывает, что я прокручиваю вниз, но нижнее представление таблицы все еще отображается отрезать ... я не знаю почему

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