- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我设置 UIPageViewController 时,我无法理解这行代码:
[self.pageViewController setViewControllers:@[startingViewController]
direction:UIPageViewControllerNavigationDirectionForward
animated:NO
completion:^(BOOL finished) {
// Completion code
}];
在大多数示例中,我看到只有一个 UIViewController 被传递到 setViewControllers 中,然后使用 (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController 启动下一个 UIViewController
.为什么我们不先初始化所有 View Controller ,然后将它们全部传递给 setViewControllers ?
任何关于这方面的指示都会很好,谢谢
最佳答案
Why do we not init all the view controllers first and then pass them all into setViewControllers ?
因为这不是 UIPageViewController 的工作原理。它在每个时刻要么一次一页,要么一次两页(同时显示,就像一本打开的实体书)。大多数人使用它一次显示一页,因此当您调用 setViewControllers: 时,您提供了该一页。
如果您想“首先初始化所有 View Controller ”,那么您首先不会使用 UIPageViewController - 您将使用普通的 UIScrollView。但这将是非常重量级的。假设(实际上我的一个应用程序就是这种情况)有两千页。同时有两千个 View Controller ???你会在启动时耗尽内存! UIPageViewController 的全部要点是它是轻量级的,因为一般来说,一次只存在一个 subview Controller 。它是动态,而不是静态。
关于ios - UIPageViewController 和 setViewControllers :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30463487/
我有一个简单的问题:我的自定义 UITabBarController子类同时覆盖 setViewControllers:和 setViewControllers:animated: .在 Storyb
我正在尝试实现一个 PageViewController,当按下按钮时它会切换到不同的 ViewController。我可以在 viewDidLoad() 期间使用 setViewController
我正在尝试使用 NEXT 按钮更改 UIPageViewController 的当前 ViewController。所以我使用委托(delegate)在我的 mainViewController 中调
我遇到了一个奇怪的问题,我不知道这是我的错误(最有可能)还是 UINavigationController 中的错误。 我在我的应用程序中使用 UINavigationController。在某些情况
当我设置 UIPageViewController 时,我无法理解这行代码: [self.pageViewController setViewControllers:@[startingViewC
我遇到了一个非常奇怪的情况 - 调用 method UINAvigationController -> setViewControllers:animated: 导致应用程序崩溃。仅在 iOS 10.
我正在尝试使用名为 Remenu 的第三方下拉菜单,可在此处找到 https://github.com/romaonthego/REMenu 菜单正在出现,但是当我尝试单击某个项目时,我总是看到黑屏。
我正在尝试使用导航菜单从一个 View Controller 转到另一个 View Controller 。我的问题是它将从 AddNewHomeTableViewController 访问代码,但不
这是我的层次结构: A - B - C - D (tabs) | | | | | | | | ----------------> AddEventViewController
我发现 setNavigationBarHidden 在 setViewControllers 之后不起作用? 这是我的代码: HomeNavController.swift: class HomeN
我有一个 UIPageViewController,其中有两个 UIViewController 作为子级。我希望用户能够在 subview 之间进行分页,但我也希望能够自动调用页面。 我已经尝试了使
“无法使用类型为‘([AnyObject],方向:UIPageViewControllerNavigationDirection,动画:Bool,完成:nil)’的参数列表调用”‘setViewCon
一段时间以来,我一直在处理这个(有点)随机错误,但无法找出问题所在。上下文:我正在创建一个 UISplitView iPad 应用程序,它在主视图中有一个 UINavigationController
我正在使用具有水平滚动功能的 UIPageViewController...只要用户滚动,UIPageControl 就会正常工作,以编程方式跳转到下一页或上一页时会出现问题 [self.pageVi
注意到奇怪的事情:当您使用 setViewControllers:animated 替换 UINavigationController 中的 View Controller 堆栈时:动画过程中显示后退
我的 UINavigationController 有一个奇怪的问题。 我编写了一个应用程序来显示三个级别的数据。 ( Root View :选择数据 I,第二 View :选择数据 II,第三 Vi
我第一次尝试让 UIPageViewController 工作,但每当我尝试设置它的 View Controller 时,我似乎都遇到了麻烦。 override func viewDidLoad()
问题来了。我在 UINavigationController 中使用以下代码来交换 rootViewController。我需要能够在多个不同的屏幕之间交换 rootViewController 并允
我正在制作一个使用 UIPageViewController 在页面之间导航的应用程序。一切正常,除了当我尝试手动更改使用 setViewControllers 显示的 View Controller
我尝试在用户点击按钮时更改导航 Controller 中的 View Controller ,因此我声明了以下代码: if standingsViewController == nil { st
我是一名优秀的程序员,十分优秀!