У меня есть 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
.
Как показано на первом скриншоте, pageControl
, похоже, не прикреплен к нижней части collectionView
. При отладке иерархии представлений кажется, что нижний край pageControl
расположен относительно нижнего края collectionView
, однако расстояние между ними кажется намного больше, чем я указал (100).
Я не уверен, что вызывает эту неоднозначную раскладку, так как я считаю, что я указал все необходимые ограничения для pageControl
. Буду признателен за любые отзывы.
Примечание: неопределенность исчезнет, если я ограничу pageControl
до collectionView.topAnchor
вместо collectionView.bottomAnchor
.