16

任何人都知道如何创建垂直 UIPageControl?我有一个启用了分页的 UIScrollView,我想让 UIPageControl 坐在一边并垂直显示而不是水平显示。

先感谢您...

4

4 回答 4

45

您可以对 UIPageControl 应用旋转变换。

pageControl.transform = CGAffineTransformMakeRotation(M_PI_2);

斯威夫特 3.0

let angle = CGFloat(M_PI_2)
pageControl.transform = CGAffineTransform(rotationAngle: angle)

斯威夫特 4.0

let angle = CGFloat.pi/2
    pageControl.transform = CGAffineTransform(rotationAngle: angle)
于 2011-02-08T16:53:54.767 回答
5

Swift 3.1 更新

pageControl.transform = pageControl.transform.rotated(by: .pi/2)
于 2017-04-28T14:47:34.970 回答
0

页面控件有子视图,必须旋转才能形成垂直点

//create page control

    private let pageControl: UIPageControl = {
    let pageControl = UIPageControl()
    pageControl.numberOfPages = 3
    return pageControl
}()

//add page control as a subview to container UIView

override func viewDidLoad() {
     pageViewContainer.addSubview(pageControl)
}

//rotate it vertically

override func viewWillLayoutSubviews() {
    pageControl.frame = pageViewContainer.bounds
    pageControl.subviews.last?.transform = CGAffineTransform(rotationAngle: CGFloat.pi/2)
    pageControl.subviews.first?.transform = CGAffineTransform(rotationAngle: CGFloat.pi/2)
}
于 2021-05-17T09:28:48.593 回答
0

您可以使用UICollectionView启用分页和垂直滚动。这会自动处理垂直分页。

于 2018-01-11T05:53:36.533 回答