选择垂直时 UIPageControl 不出现

Posted

技术标签:

【中文标题】选择垂直时 UIPageControl 不出现【英文标题】:UIPageControl not appearing when Vertical is selected 【发布时间】:2014-02-20 17:05:37 【问题描述】:

PageViewController 导航样式设置为Horizontal 时,我可以让UIPageControl 工作,但是当我选择Vertical 时,UIPageControl 不会显示为水平或垂直。

我正在 AppDelegate 中设置 UIPageControl 的外观:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

    // Override point for customization after application launch.

    UIPageControl *pageControl = [UIPageControl appearance];
    pageControl.pageIndicatorTintColor = [UIColor lightGrayColor];
    pageControl.currentPageIndicatorTintColor = [UIColor blackColor];
    pageControl.backgroundColor = [UIColor whiteColor];

    return YES;

有没有办法让它出现在垂直位置?上面的代码在选择Horizontal 选项进行导航时有效,但在选择Vertical 时无效。

【问题讨论】:

【参考方案1】:

如果我理解正确,您要做的是使用具有 vertical 方向的UIPageViewController 并垂直显示UIPageControl。我尝试这样做,但似乎无法直接访问与UIPageViewController 相关的UIPageControl

但是,我找到了一个非常令人满意的解决方法来解决您的问题。将UIScrollViewpagingEnabled 一起使用,并在scrollView 的委托方法中管理UIPageControl。要垂直显示UIPageControl,可以使用

pageControl.transform = CGAffineTransformMakeRotation(M_PI / 2);

我制作了一个示例应用程序来演示此解决方法。 Here 是下载链接。如果它帮助您解决问题,请考虑接受该问题,谢谢。

【讨论】:

以上是关于选择垂直时 UIPageControl 不出现的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS UI 测试中模拟 UIPageControl 的左右点击?

IOS开发-UI学习-UIPageControl(页码控制器)的使用

UIPageControl 似乎并不总是在滚动时发生变化

Swift UIPageControl 不显示点

一个无限行集合视图中的类似 UIPageControl 的效果

UIPageControl