增加 UIPageControl 指示点之间的间距

Increase spacing between indicator dots of UIPageControl

所以我正在努力自定义 UIPageControl(Apple 确实不容易),我想知道是否有办法在指示器点之间 increase/decrease space。

我一直在使用这段代码来获取 UIPageControl

var pageControlMaybe: UIPageControl?

for (var i = 0; i < subviews.count; i++) {
    if (subviews[i] is UIPageControl) {
        pageControlMaybe = subviews[i] as? UIPageControl
        break
    }
}

但现在我想知道是否有一种简单的方法来改变间距?我可以使用 transform

调整点的大小
pageControlMaybe?.transform = CGAffineTransformMakeScale(1.4, 1.4)

但这也增加了它们之间的间距。理想情况下,它会保持点大小并减少它们之间的 space。

如回答 some other times there's no way to do this. I'd recommend you using 3rd party controls like FXPageControl 并使用此 属性:

@property (nonatomic, assign) CGFloat dotSpacing;

第一个缩放 pageControl

设比例:CGFloat = 1.5

pageControl.transform = CGAffineTransform.init(scaleX: scale, y: scale)

这也会缩放每个点,因此您可以使用以下代码缩放每个点

for dot in pageControl.subviews{
    dot.transform = CGAffineTransform.init(scaleX: 1/scale, y: 1/scale)
}

有点笨拙但有效