我正在实现一个简单的图库视图控制器,应用程序会显示一小部分全屏图像,用户可以滚动浏览。我正在使用UIPageViewController,我认为如果我实现了正确的数据源函数,它应该会自动显示页面控件指示器。但是我仍然看不到任何指示器。
在我的主GalleryViewController
中:
class GalleryViewController: UIViewController, UIPageViewControllerDataSource, UIPageViewControllerDelegate {
var pageController: UIPageViewController?
var pageContent = NSArray()
override func viewDidLoad() {
super.viewDidLoad()
.... some code to load images into the pageContent array ....
pageController = UIPageViewController(transitionStyle:.Scroll, navigationOrientation:.Horizontal,options:nil)
pageController?.delegate = self
pageController?.dataSource = self
... some more standard code to add the page controller to self.view etc.
var pageControl = UIPageControl.appearance()
pageControl.pageIndicatorTintColor = UIColor.lightGray()
pageControl.currentPageIndicatorTintColor = UIColor.whiteColor()
pageControl.backgroundColor = UIColor.blackColor()
pageController!.didMoveToParentViewController(self)
}
func viewControllerAtIndex(index:Int) -> ContentViewController? {
....
}
我已经实现了两个强制协议方法viewControllerBeforeViewController和viewControllerAfterController,以及分页所需的两个方法presentationCountForPagesViewController和presentationIndexForPageViewController。
我的X11 M1 N1 X有一个X11 M2 N1 X,它填满了整个屏幕。但是,即使我把它的大小从屏幕底部减小,我看不到任何页面指示灯。我错过了什么吗?让我知道如果我没有提供足够的信息。我一直在尝试重写我的旧应用程序,我用Objective-C编码超过5年前-完全在Swift为iOS8和Xcode等已经改变了这么多,这是混乱的。谢谢!
6条答案
按热度按时间js4nwp541#
取自here:
为了显示UIPageControl,需要实现两个可选的数据源方法,只需要返回presentationCountForPageViewController的整数页数和presentationIndexForPageViewController的初始选择索引即可
uujelgoq2#
为什么不使用**swift 3+版本的策尔B.**答案
k5hmc34c3#
即使您更改了UIPageControl的颜色,它也可能不会出现。如果UIPageController位于UITabBarController内部,则TabBar将覆盖UIPageControl。找到它的最佳方法是使用选项调试-〉查看调试-〉CaptureViewHierarchy。然后在左下角的筛选字段中键入“pageControl”。如果您在导航器中单击它,它应该会在屏幕上找到它(请查看屏幕截图)
可以按如下方式更改位置:
ruoxqz4g4#
虽然在许多这些答案中出现了大量的答案,但我只想明确地说明,在这些方法被命中之前,您需要将UIPageViewController设置为“Scroll”。
b1zrtrql5#
圆点为白色或半透明白色。请确保背景不是白色,或更改圆点的颜色。
如何编辑点的颜色:How can I change the color of pagination dots of UIPageControl?
31moq8wy6#
我的错误是在presentationCount()委托方法中设置的计数值大于页面视图控制器中的实际内容页面。