在某些页面索引上隐藏 UIPageControlViewController 的 UIPageControl

bdv*_*bdv 4 cocoa-touch objective-c uipagecontrol ios uipageviewcontroller

我想隐藏某个 VC 上的页面控制指示器,而是显示一个带有文本“开始”的按钮。然而,用户仍然能够导航回页面控件。

我试过这个:

self.pageController = [UIPageControl appearance];
self.pageController.pageIndicatorTintColor = [UIColor redColor];
self.pageController.currentPageIndicatorTintColor = [UIColor greenColor];

if(self.pageIndex == 1){
    self.pageController.hidden = YES;
    NSLog(@"hide you!");
}
Run Code Online (Sandbox Code Playgroud)

然而,这不起作用。不使用 if 语句的设置self.pageController.hidden = YES也有效,并且也会触发 nslog。看来这只能设置一次。

我也不知道这会有多顺利。我显然不希望它在用户完全到达页面本身时发生变化,而是在向页面过渡时发生变化。

解决这个问题的最佳方法是什么?

小智 5

我很快就做到了,也许会有帮助 -

func setPageControlHidden (hidden: Bool)
{
    for subView in self.view.subviews
    {
        if subView is UIScrollView
        {
            subView.frame = self.view.bounds
        }
        else if subView is UIPageControl
        {
            subView.hidden = hidden
        }
    }
}
Run Code Online (Sandbox Code Playgroud)