Увеличение размера индикатора в Uipageviewcontroller UIPageControl
5 ответов
масштабирование управление страница данные точки, но также будет расширять расстояние между ними.
pageControl.transform = CGAffineTransform(scaleX: 2, y: 2)
если вы хотите сохранить одинаковое расстояние между точками, вам нужно будет преобразовать точки по отдельности:
pageControl.subviews.forEach {
.transform = CGAffineTransform(scaleX: 2, y: 2)
}
однако, если вы сделаете это в viewDidLoad
, преобразование было сброшено к моменту появления представления, поэтому вы должны сделать это в viewDidLayoutSubviews
...
override func viewDidLayoutSubviews() {
pageControl.subviews.forEach {
.transform = CGAffineTransform(scaleX: 2, y: 2)
}
}
можно использовать UIPageControl
и такой :
@IBOutlet weak var pageControl: UIPageControl!
override func viewDidLoad() {
super.viewDidLoad()
pageControl.transform = CGAffineTransform(scaleX: 2, y: 2); //set value here
}
проблема в том, что пространство между вашими точками также будет увеличиваться. Если вы хотите иметь точный дизайн с вашей точкой, вы должны использовать элементы управления 3party:https://www.cocoacontrols.com/
для swift 2.0 для увеличения или уменьшения размера индикатора pageControl
self.pageControl.transform = CGAffineTransformMakeScale(0.8, 0.8)
или
self.pageControl.transform = CGAffineTransformMakeScale(1.3, 1.3)
во-первых, создайте объект uiPageControl внутри viewDidLoad (), а затем установите его положение y в соответствии с вашим требованием, затем примените требуемый масштаб с помощью CAAffiniteTransform, как показано ниже:
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
добавить расширение к контроллеру страницы
extension UIPageControl {
func customPageControl(dotWidth: CGFloat) {
for (pageIndex, dotView) in self.subviews.enumerated() {
dotView.frame.size = CGSize.init(width: dotWidth, height: dotWidth)
}
}
}