Skip to content

LicaGao/SwiftPageDemo

Repository files navigation

SwiftPageDemo

11月26日练习

  • UIPageViewController的使用。练习中 PageViewController 的子视图是动态的,重复调用 WebViewController 每一页只是改变了 WKWebView 加载的url。在 PageViewController 中需要实现UIPageViewControllerDataSource的两个方法,返回当前页VC的前一个和后一个VC:
    func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? {
        var index = (viewController as! WebViewController).index
        index -= 1
        return setViewController(index: index)
    }
    func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? {
        var index = (viewController as! WebViewController).index
        index += 1
        return setViewController(index: index)
    }

在 setViewController 方法中为 WebViewController 设置相应的url和索引并返回

    func setViewController(index: Int) -> WebViewController? {
        if case 0..<urls.count = index {
            let main = UIStoryboard.init(name: "Main", bundle: Bundle.main)
            if let webVC = main.instantiateViewController(withIdentifier: "webView") as? WebViewController {
                webVC.url = urls[index]
                webVC.index = index
                
                return webVC
            }
        }
        return nil
    }
  • 练习中使用的url均选自简书-7日热门。简书网址使用HTTP协议所以需要在 Info.plist 文件中设置 App Transport Security Settings - Allow Arbitrary Loads 为 YES

About

Swift UIPageViewController的使用

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages