iOS:删除 UIPageControl 中的填充

net*_*000 9 html ios swift

我有一个兼容 iOS 12 到 14 的应用程序,但页面控制有问题。在 iOS 14 上,它有一个巨大的填充,这是旧版 iOS 版本中没有的。界面生成器也显示此填充。我的问题是我不希望这样,因为我的页面控件未居中,而是在用户界面中左对齐。

在此输入图像描述

如何删除填充,使其在所有 iOS 版本上看起来都相同?

ver*_*esh 19

这个问题是因为ios 14。我在 ios 14 上使用了下面的代码组合,它的效果就像一个魅力

if #available(iOS 14.0, *) {
  pageControl.backgroundStyle = .minimal
  pageControl.allowsContinuousInteraction = false
}
Run Code Online (Sandbox Code Playgroud)


小智 0

我能找到的唯一解决方案是为页面控件约束创建出口并更改其常量以调整 iOS 14 的控件位置。这是我的代码:(我的控件是右对齐的,因此您应该调整为左对齐)

    // iOS 14 introduced extra padding to the UIPageControl. We adjust its constraints to keep it displayed in the lower right corner of the superview
    if #available(iOS 14, *)
    {
        pageControlTrailingConstraint.constant = -30
        pageControlBottomConstraint.constant = -3
    }
Run Code Online (Sandbox Code Playgroud)