增加UIPageControl的指示器点之间的间距

tbo*_*son 3 uipagecontrol ios swift

因此,我正在自定义UIPageControl(Apple确实不容易做到),并且我想知道是否存在增加/减少指示器点之间空间的方法。

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

var pageControlMaybe: UIPageControl?

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

但是现在我想知道是否有一种简单的方法来更改间距?我可以通过变换来调整点的大小

pageControlMaybe?.transform = CGAffineTransformMakeScale(1.4, 1.4)
Run Code Online (Sandbox Code Playgroud)

但这也增加了它们之间的间隔。理想情况下,它将保持点的大小,并只是减小它们之间的空间。

Lor*_*olo 5

正如其他时候回答的那样,没有办法做到这一点。我建议您使用FXPageControl等第 3 方控件并使用此属性:

@property(非原子,分配)CGFloat dotSpacing;


ugu*_*gur 5

第一比例页面控制

让规模:CGFloat = 1.5

pageControl.transform = CGAffineTransform.init(scaleX: scale, y: scale)
Run Code Online (Sandbox Code Playgroud)

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

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

有点hacky但是可以用