使用 UIPageControl 减小点大小或填充以适应屏幕上的所有页面指示器

Posted

技术标签:

【中文标题】使用 UIPageControl 减小点大小或填充以适应屏幕上的所有页面指示器【英文标题】:Reduce dot size or padding to fit all page indicators on screen with UIPageControl 【发布时间】:2014-11-08 18:17:59 【问题描述】:

我有一个UIPageControl,它有 22 页,因此有 22 个页面指示点。在 iPhone 的横向上,它们都可见,左右两边都有足够的空间,但在纵向上,没有足够的水平空间来显示所有的点(至少在 iPhone 4 和 5 上),所以两个不可见,并且外面的两个被切成两半。

我正在寻找一种方法来减小点的大小或减少点之间的填充量,以确保所有点都适合纵向显示在屏幕上。怎么实现?

【问题讨论】:

【参考方案1】:

如果你有那么多点,我会认真考虑不同的控制。但是如果你想坚持使用 UIPageControl,我会缩小它以适应屏幕,例如:

pageControl.transform = CGAffineTransformMakeScale(0.7, 0.7);

这会将其缩小到其初始尺寸的 70% - 我留给您确定适合您的屏幕尺寸/页数的最佳比例。

【讨论】:

您能推荐其他控件吗? @HRaval 我个人会尝试自定义 UISegmentedControl,其中包含三个显示左箭头、“Y 页 X”和右箭头的段。 thnx 为您提供帮助...实际上,我需要具有分页功能的滚动功能,因为我有大量从服务器获取的页面,因为我正在使用水平集合视图。是正确的选择吗? @HRaval 当然,...或UIPageViewControllersee here。 完全不使用点怎么办?你可以只显示一个箭头来表示还有更多元素【参考方案2】:

Swift 3 版本代码: 基于 pbasdf 答案。

pageControl.transform = CGAffineTransform(scaleX: 0.7, y: 0.7)

【讨论】:

【参考方案3】:

你真的不应该对有 22 页的东西使用 UIPageControl。 尝试使用返回数字的标签之类的东西怎么样。会让你的应用看起来更干净。

虽然如果你真的想使用 pageControl,pbasdf 的答案是正确的。 pageControl.transform = CGAffineTransformMakeScale(0.8, 0.8) 应该做的伎俩。

【讨论】:

以上是关于使用 UIPageControl 减小点大小或填充以适应屏幕上的所有页面指示器的主要内容,如果未能解决你的问题,请参考以下文章

添加填充时,移动设备上的边缘会极大地减小字体大小

在 UIPageViewController 的 UIPageControl 中增加指示器的大小

在 UIPageViewController 的 UIPageControl 中增加指示器的大小

隐藏 UIPageControl

如何减小 Kendo UI 饼图的大小?

在 iOS 中增加 UIPageControl 大小