ios - 设置 UIPageViewController.dataSource 时发送到实例的无法识别的选择器?

标签 ios swift uipageviewcontroller

我正在尝试以编程方式在 subview 中创建页面 View 。但是,当我将 UIPageViewController 的数据源设置为 superviewcontroller 时,出现此错误:

-[UIView scrollView]: unrecognized selector sent to instance 0x7fc223ea8300
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView scrollView]: unrecognized selector sent to instance 0x7fc223ea8300'

这是我的代码:

import UIKit
class MainVC: UIViewController, UIPageViewControllerDataSource {
    private var pages: [UIViewController]
    private let pageVC: UIPageViewController
    init() {
        pages = [UIViewController]()
        for i in 0...1 {
            let vc = UIViewController()
            vc.view = MyUIViewSubclass(index: i)
            pages.append(vc)
        }
        pageVC = UIPageViewController(transitionStyle: .Scroll, navigationOrientation: .Horizontal, options: nil)
        pageVC.view = UIView()
        pageVC.view.translatesAutoresizingMaskIntoConstraints = false
        super.init(nibName: nil, bundle: nil)
        pageVC.dataSource = self //Breakpoints indicate that this is when the exception occurs
        view.addSubview(pageVC.view)
        //...Autolayout...
    }
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? {
        return pages[0]
    }
    func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? {
        return pages[1]
    }
}

提前致谢。

最佳答案

pageVc.view 有一个名为 scrollview 的 ibaction,它没有在你的 View Controller 中声明,你需要从连接检查器中删除 ibaction

关于ios - 设置 UIPageViewController.dataSource 时发送到实例的无法识别的选择器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34447166/

相关文章:

ios - 在 ViewControllers Swift 3 之间传递 Double

ios - UISplitViewController+UIPageViewController+WKWebView = 有时无法翻页

iOS 7 应用程序加载 View Flash 出现之前

swift - 基于图像的进度条

objective-c - NSTimer 触发 UIProgressView 失败

ios - 我无法更改 UITableView 中单元格的高度,但大小已设置?

ios - PageviewController 总是返回一个像 2147483648 这样的索引

objective-c - 如何实现触摸相机图标时在 iOS 锁定屏幕中看到的行为?

ios - ARKit 支持 iPhone SE 吗?

ios - Deinit 未在 UIViewController 上调用,但 Dealloc 是