ios: вертикальное положение неоднозначно для UIPageControl - PullRequest
0 голосов
/ 05 ноября 2018

У меня есть UIPageControl как подпредставление UICollectionView. Вот ограничения для UICollectionView:

let collectionViewConstraints = [
        collectionView.topAnchor.constraint(equalTo: view.topAnchor),
        collectionView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
        collectionView.heightAnchor.constraint(equalTo: view.heightAnchor, multiplier: 0.65),
        collectionView.widthAnchor.constraint(equalTo: view.widthAnchor)
    ]

collectionView.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate(collectionViewConstraints)

Ограничения для UIPageControl:

collectionView.addSubview(pageControl)
let pageControlConstraints = [
        pageControl.centerXAnchor.constraint(equalTo: view.centerXAnchor),
        pageControl.bottomAnchor.constraint(equalTo: collectionView.bottomAnchor, constant: 100)
    ]

pageControl.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate(pageControlConstraints)

Поскольку pageControl имеет intrinsicContentSize, я указываю только его x и y позиции. Однако я сталкиваюсь с неоднозначной ошибкой компоновки для вертикального положения pageControl.

enter image description here

Как показано на первом скриншоте, pageControl, похоже, не прикреплен к нижней части collectionView. При отладке иерархии представлений кажется, что нижний край pageControl расположен относительно нижнего края collectionView, однако расстояние между ними кажется намного больше, чем я указал (100).

enter image description here enter image description here

Я не уверен, что вызывает эту неоднозначную раскладку, так как я считаю, что я указал все необходимые ограничения для pageControl. Буду признателен за любые отзывы.

Примечание: неопределенность исчезнет, ​​если я ограничу pageControl до collectionView.topAnchor вместо collectionView.bottomAnchor.

1 Ответ

0 голосов
/ 05 ноября 2018

Попробуйте добавить UIPageControl к viewController view.

Заменить

collectionView.addSubview(pageControl)

С

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