XCode 页面 View Controller : make dots transparent

标签 xcode

我添加了一个页面 View Controller 和一个 3 页。
我将 Transition Style 设置为 Scroll 并实现了 presentationCountpresentationIndex方法。现在我在 View 底部看到一个带有灰色/白色圆点的黑色条。但是,但我希望 View 转到底部并使点出现在它上面(没有黑色背景。
我怎么做?

这是我的代码:

import UIKit

class FilterViewController: UIPageViewController, UIPageViewControllerDataSource {



    override func viewDidLoad() {
        super.viewDidLoad()
        dataSource = self

        if let firstViewController = orderedViewControllers.first {
            setViewControllers([firstViewController],
                               direction: .forward,
                               animated: true,
                               completion: nil)
        }


        // Do any additional setup after loading the view.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    private(set) lazy var orderedViewControllers: [UIViewController] = {
        return [self.newViewController(category: "first"),
                self.newViewController(category: "second"),
                self.newViewController(category: "third")]
    }()

    private func newViewController(category: String) -> UIViewController {
        return UIStoryboard(name: "Main", bundle: nil) .
            instantiateViewController(withIdentifier: "\(category)ViewController")
    }

    func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? {

        guard let viewControllerIndex = orderedViewControllers.index(of: viewController) else {
            return nil
        }

        let previousIndex = viewControllerIndex - 1

        guard previousIndex >= 0 else {
            return orderedViewControllers.last
        }

        guard orderedViewControllers.count > previousIndex else {
            return nil
        }

        return orderedViewControllers[previousIndex]
    }

    func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? {
        guard let viewControllerIndex = orderedViewControllers.index(of: viewController) else {
            return nil
        }

        let nextIndex = viewControllerIndex + 1
        let orderedViewControllersCount = orderedViewControllers.count

        guard orderedViewControllersCount != nextIndex else {
            return orderedViewControllers.first
        }

        guard orderedViewControllersCount > nextIndex else {
            return nil
        }

        return orderedViewControllers[nextIndex]
    }

    func presentationCount(for pageViewController: UIPageViewController) -> Int {
        return orderedViewControllers.count
    }

    func presentationIndex(for pageViewController: UIPageViewController) -> Int {
        guard let firstViewController = viewControllers?.first,
            let firstViewControllerIndex = orderedViewControllers.index(of: firstViewController) else {
                return 0
        }

        return firstViewControllerIndex
    }


}

page view controller

最佳答案

好的,我自己得到了。如果有人遇到同样的问题,只需覆盖 viewDidLayoutSubviews()页面 View Controller :

override func viewDidLayoutSubviews() {
        let v = self.view
        let subviews = v?.subviews
        if subviews?.count == 2 {
            var sv:UIScrollView?
            var pc:UIPageControl?
            for t in subviews! {
                if t is UIScrollView {
                    sv = t as! UIScrollView
                } else {
                    pc = t as! UIPageControl
                }
            }
            if(sv != nil && pc != nil) {
                sv?.frame = (v?.bounds)!
                v?.bringSubview(toFront: pc!)
            }
        }
        super.viewDidLayoutSubviews()
    }

关于XCode 页面 View Controller : make dots transparent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51557240/

相关文章:

ios - 如何禁用 Xcode 警告 "Enable Base Internationalization"?

ios - 如何在TableController的ImageView中正确添加图片?

objective-c - 单击 UIWebView 上的链接时打开新的 UIViewController

objective-c - Xcode 5不导入崩溃文件?

ios - 在 Swift 中单击单元格后 Xcode 触发操作

ios - 使用 xcode 重构 NIB 名称不变

ios - 用于异步测试的 XCTest 和 NSRunLoop

ios - 从/Library/Developer/Xcode 中删除了启动时崩溃的 PrivateFrameworks

ios - FusionChart 未显示在 iPad Phonegap 项目中

xcode - Swift中 double LCM的算法