创建一个垂直UIPageControl

时间:2011-02-07 23:35:15

标签: ios4 uiscrollview uipagecontrol

任何人都知道如何创建垂直UIPageControl?我有一个启用了分页的UIScrollView,我希望UIPageControl位于侧面并垂直显示而不是水平显示。

提前谢谢你......

4 个答案:

答案 0 :(得分:38)

您可以将旋转变换应用于UIPageControl。

pageControl.transform = CGAffineTransformMakeRotation(M_PI_2);

Swift 3.0

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

Swift 4.0

let angle = CGFloat.pi/2
    pageControl.transform = CGAffineTransform(rotationAngle: angle)

答案 1 :(得分:2)

Swift 3.1的更新

pageControl.transform = pageControl.transform.rotated(by: .pi/2)

答案 2 :(得分:0)

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

答案 3 :(得分: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)
}