ios - 从以编程方式创建 pageviewcontroller 的地方获取 viewcontroller 的引用
问题描述
我已经从 BaseViewController 以编程方式创建了 pageViewController -
class BaseViewViewController : UIViewController {
func viewDidLoad() {
let viewControllers = [ViewController1, ViewController2, ViewController3]
let pageController = UIPageViewController(transitionStyle: UIPageViewControllerTransitionStyle.scroll, navigationOrientation: UIPageViewControllerNavigationOrientation.horizontal, options: nil)
pageController.setViewControllers(viewcontrollers, direction: UIPageViewControllerNavigationDirection.reverse, animated: false, completion: {(_) -> Void in
})
self.addChildViewController(pageController)
}
}
现在,在 ViewController1 中,我想访问 BaseViewController 的引用。但我只能获得 pageViewController 的参考 -
let pageViewController = self.parent
在 ViewController1 内;我需要访问 BaseViewController 实例。对此的任何建议表示赞赏
解决方案
我认为有几种方法可以解决它。
尝试父母(祖父母)的父母
let pageViewController = self.parent let baseViewController = pageViewController.parent
在您的 ViewController1、ViewController2 等类上设置一个属性以引用 BaseViewController。
推荐阅读
- javascript - 为什么我的 jquery 输入验证不起作用?
- gatsby - Queryql-playground 可以全局安装在 Gatsby 中吗?
- opengl - GLSL 编译器会删除不必要的变量初始化吗?
- python - 将df写入csv时如何修复错误的数字格式?
- json - Splitting nested arrays as separate entities
- python - 如何重定向到 Django 中新创建的对象?
- java - android data binding error: cannot find symbol
- swift - 如何处理单元格中的多个文本字段并获取文本字段数据
- instance-variables - 实例变量和非静态成员的区别
- php - How to run and watch local server at the same time?