我有几个子视图
view.addSubview(collectionView)
view.addSubview(pageControl)
view.addSubview((tabBarController?.tabBar)!)
view.addSubview(skipButton)
view.addSubview(nextButton)
我尝试通过 layoutAnchor 进行布局。(此时我将 pageControl.bottomAnchor 锚定到 view.bottomAnchor )
nextButton.anchorWithConstantsToTop(view.topAnchor, left: nil, bottom: nil, right:
view.rightAnchor, topConstant: 16, leftConstant: 0, bottomConstant: 0, rightConstant: 0)
nextButtonTopAnchor = nextButton.topAnchor.constraint(equalTo: view.topAnchor, constant: 0)
nextButton.heightAnchor.constraint(equalToConstant: 50).isActive = true
nextButton.widthAnchor.constraint(equalToConstant: 60).isActive = true
skipButton.anchorWithConstantsToTop(view.topAnchor, left: view.leftAnchor, bottom: nil, right: nil, topConstant: 16, leftConstant: 0, bottomConstant: 0, rightConstant: 0)
skipButton.heightAnchor.constraint(equalToConstant: 50).isActive = true
skipButton.widthAnchor.constraint(equalToConstant: 60).isActive = true
pageControl.anchorWithConstantsToTop(nil, left: view.leftAnchor, bottom: view.bottomAnchor, right: view.rightAnchor, topConstant: 0, leftConstant: 28, bottomConstant: 0, rightConstant: 30)
所以它工作得很好,当我在适当的地方旋转设备 pageControl 夹子时
但是,如果尝试锚定 pageControl.bottomAnchor = tabBarController?.tabBar.topAnchor 而不是 view.bottomAnchor 则在纵向上一切正常,但是当我旋转设备时会发生一些恼人的事情:pageControl 上升
我猜问题出在 pageControl.bottomAnchor = tabBarController?.tabBar.topAnchor 字符串中,但我知道为什么?在横向仍然保留 tabBar 和 pageControl 仍然必须将其锚定到 tabBar 的 topAnchor。请也许有人知道这种行为是怎么回事?