【发布时间】:2011-02-07 23:35:14
【问题描述】:
谁知道如何创建一个垂直的 UIPageControl?我有一个启用了分页的 UIScrollView,我想让 UIPageControl 坐在一边,垂直显示而不是水平显示。
提前谢谢你...
【问题讨论】:
标签: ios4 uiscrollview uipagecontrol
谁知道如何创建一个垂直的 UIPageControl?我有一个启用了分页的 UIScrollView,我想让 UIPageControl 坐在一边,垂直显示而不是水平显示。
提前谢谢你...
【问题讨论】:
标签: ios4 uiscrollview uipagecontrol
您可以对 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)
【讨论】:
Swift 3.1 更新
pageControl.transform = pageControl.transform.rotated(by: .pi/2)
【讨论】:
您可以在启用分页和垂直滚动的情况下使用UICollectionView。这会自动处理垂直分页。
【讨论】:
页面控件有子视图,必须旋转才能形成垂直点
//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)
}
【讨论】: