swift - pagecontroller - Aumente el tamaño del indicador en UIPageViewController de UIPageControl
swift pagecontroller (5)
Añadir una extensión al controlador de página.
extension UIPageControl {
func customPageControl(dotWidth: CGFloat) {
for (pageIndex, dotView) in self.subviews.enumerated() {
dotView.frame.size = CGSize.init(width: dotWidth, height: dotWidth)
}
}
}
Al escalar el control de la página se escalarán los puntos, pero también se escalará el espaciado entre ellos.
pageControl.transform = CGAffineTransform(scaleX: 2, y: 2)
Si desea mantener el mismo espacio entre puntos, deberá transformar los puntos individualmente:
pageControl.subviews.forEach {
$0.transform = CGAffineTransform(scaleX: 2, y: 2)
}
Sin embargo, si lo hace en viewDidLoad
, la transformación se ha restablecido en el momento en que aparece la vista, por lo que debe hacerlo en viewDidLayoutSubviews
...
override func viewDidLayoutSubviews() {
pageControl.subviews.forEach {
$0.transform = CGAffineTransform(scaleX: 2, y: 2)
}
}
En primer lugar, cree un objeto uiPageControl dentro de viewDidLoad () y luego establezca su posición y según sus requisitos, luego aplique la escala requerida usando CAAffiniteTransform como se muestra a continuación:
var pageControl = UIPageControl()
pageControl.pageIndicatorTintColor = UIColor.gray
pageControl.currentPageIndicatorTintColor = UIColor.yellow
pageControl.transform = CGAffineTransform(scaleX: 1.3, y: 1.3) // set dot scale of pageControl
pageControl.backgroundColor = UIColor.darkGray
pageControl.numberOfPages = 3
pageControl.center = self.view.center
self.view.addSubview(pageControl) // add pageControl to view
pageControl.layer.position.y = self.view.frame.height - 100; // y position of the pageControl
Puedes usar un UIPageControl
y escalarlo así:
@IBOutlet weak var pageControl: UIPageControl!
override func viewDidLoad() {
super.viewDidLoad()
pageControl.transform = CGAffineTransform(scaleX: 2, y: 2); //set value here
}
El problema con eso es que el espacio entre tus puntos también se incrementará. Si desea tener un diseño preciso con su punto, debe utilizar los controles de 3party: https://www.cocoacontrols.com/
Para Swift 2.0 aumentar o disminuir el tamaño del indicador de control de página
self.pageControl.transform = CGAffineTransformMakeScale(0.8, 0.8)
O
self.pageControl.transform = CGAffineTransformMakeScale(1.3, 1.3)