问题标签 [transition-coordinator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2069 浏览

objective-c - iOS8如何从UIViewControllerTransitionCoordinator理解界面方向?

我正在调试一个在 iOS7.1 中运行良好的项目,但在 iOS 8.0 中没有正确布置它的内容。我已将问题缩小到这种方法:

iOS8 不再从中返回正确的 UIInterfaceOrientation rootViewController.interfaceOrientation,而是返回“颠倒”。

阅读文档,我遇到了一个神秘的信息:

使用 viewWillTransitionToSize:withTransitionCoordinator: 进行基于界面的调整。

阅读有关 UIViewControllerTransitionCoordinator 的文档,我看不到它有任何属性。如何修改期望界面方向的方法以从 UIViewControllerTransitionCoordinator 获取它的方向?

0 投票
1 回答
1354 浏览

ios - 在 iOS8 中,transitionCoordinator 为自定义容器视图控制器返回 nil

transitionCoordinator在子 vc 上引用时,它曾经在 iOS7 中调用transitionCoordinator自定义容器类,但在 iOS8 中并非如此。现在它返回 nil,我不知道我应该改变什么来完成这项工作。

我猜它是关于 iOS8 中引入的 UIPresentationController,但找不到自定义容器视图控制器的正确实现。

0 投票
4 回答
11522 浏览

error-handling - iOS9故事板什么是未处理动作(handleNonLaunchSpecificActions)?

使用情节提要在 iOS 9 上运行我的应用程序时,我注意到控制台中弹出以下错误。我正在使用 xCode7。这是我需要关心的事情吗?

0 投票
0 回答
381 浏览

ios - 使用默认的 interactivePopGestureRecognizer 快速向后滑动会禁用 UITableViewCell 的交互

I have a table view with rows which when selected I push a view controller onto the navigation stack.

如果我使用交互式弹出手势慢慢返回,一切都会按预期进行。

仅当从左边缘快速滑动时才会发生以下行为:

从最初选择的单元格开始的选择和/或拖动被完全禁用

所有其他单元格工作正常,表格从任何其他单元格开始滚动。推送一个视图控制器并弹回解决了这个问题。

我相信在 iOS 7 中存在与此相关的导航错误......这是 iOS 9,并且自从交互式流行音乐起源于 iOS7 以来,这种行为是可重复的。我见过类似的问题,但他们的解决方案都不适用于这种特殊情况:

interactivePopGestureRecognizer 导致 UITabBarController 禁用交互

iOS 7,使用默认的 interactivePopGestureRecognizer 快速回扫时损坏 UINavigationBar

我不想完全禁用交互,如下所示: self.navigationController.interactivePopGestureRecognizer.delegate = nil; 或 self.navigationController.interactivePopGestureRecognizer.enabled = NO;

我已经尝试了所有明显的事情,比如

在视图中会出现

会喜欢一些建议 - 考虑在协调员是交互式的情况下呈现/解雇一个虚拟 vc,但这有点荒谬。

0 投票
0 回答
24 浏览

ios - 如何在第一次完成之前开始下一个 segue

在这个问题中有 3 个视图控制器。

我将故事板、segues 和 UIViewControllerAnimatedTransitioning 与导航控制器一起使用来自定义转换。

我使用来自 A -> B 的自定义动画,然后当完成时,B -> C 动画运行(呈现登录表单)。

我想要的是 B -> C 在 A -> B 完成之前开始运行。B -> C 通过在 B 的 viewWillAppear 中调用 performSegue 来运行。

我确定 UIViewControllerTransitionCoordinator 将成为此解决方案的一部分,但我只是不确定在此过程中将其附加到何处。

所以我需要知道的是,如何在前一场比赛结束之前开始一场比赛。

0 投票
0 回答
821 浏览

ios - 将 UINavigationBar 从纯色设置为透明色

我正在尝试在过渡期间将此应用程序的导航栏从纯色设置为透明色。

新视图控制器的barStyletranslucent属性也会发生变化。

我这样做的原因是因为我们使用透明导航栏并在滚动过程中将其淡入...

这在滚动时工作正常,但为了获得透明的导航栏,您必须backgroundImage使用navigationBar. 如果您尝试使用alpha小于 1 的颜色,则使用 alpha 为 1 的颜色。所以您不能只使用透明颜色。

我遇到的问题是,在过渡期间我有transitionCoordinator这样做......

显然,这会将颜色从原始颜色动画到themeColor具有 100% alpha 的视图控制器的属性,然后当转换完成时,它就会navigationBar消失。

我什至尝试过在图像之间制作动画......

但这只是将其设置为具有 0% alpha 且没有动画的最终图像。

themeColor我正在寻找一种在过渡期间从原始颜色的 100% alpha 到 0% alpha 的动画方法。因此,条形图将从(例如)蓝色变为红色以及从 1.0 alpha 变为 0.0 alpha。

这甚至可能吗?有谁知道怎么做?

0 投票
1 回答
562 浏览

ios - UIPageViewController 转换协调器

是否有可能掌握transitionCoordinatora UIPageViewController

每次我试图得到它nil。它甚至使用一个吗?

如果没有,是否有一种非 hacky 的方式来响应页面之间的滚动进度?

(hacky = 迭代子视图以获取滚动视图并成为滚动视图委托。这并不理想,因为UIPageViewController它的滚动视图具有“魔力”)

谢谢

0 投票
1 回答
73 浏览

swift4 - 我必须在我的协调器代码中使用 NavigationController 吗?

我正在重构我的代码,并想尝试一下协调员。

但是,我UINavigationController不太愿意负责,因为它会在子坐标上创建一个后退按钮以及一个我不想要的不需要的顶部栏。

反正我可以用普通UIViewController代替UINavigationController吗?

PS:这是我找到的示例代码 [这里][1]

协议协调器 { func start() }

协议 FlowACoordinatable { var coordinator: FlowACoordinator }

类FlowACoordinator:协调器{

}

类 FirstViewController: UIViewController, FlowACoordinatable {

}

0 投票
1 回答
848 浏览

swift - 无法移除子协调器,因为在 navigationController 委托方法中 transitionCoordinator 为 nil

简短的 :

我已经实现了Soroush 的Coordinators架构。除了删除以前(子)协调员所需的删除部分外,一切正常。

设想 :

我有两个ViewController名为HomeViewControllerMyGroupsViewController。每个都有自己的协调器,分别命名为HomeCoordinatorMyGroupsCoordinator

用户点击一个按钮HomeViewController触发gotoMyGroupsTapped功能并让用户访问MyGroupsViewController,然后用户点击另一个按钮,通过触发MyGroupsViewController让用户返回。HomeViewControllergotoHomePage()

很简单!: HomeVC -> MyGroupsVC -> HomeVC

但问题是:

navigationController.transitionCoordinator?两个协调员都为零func navigationController(..., didShow viewController: UIViewController...)我无法在每次过渡中删除子协调员。

设置两个协调器navigationController.delegate = self的功能是否正确?start()

我应该navigationController?.popViewController(animated: false )在我的backToHomePage()函数中使用吗?因为Paul Hudson只用过pushViewController.

我的代码 [简化版]:

HomeCoordinator.swift

MyGroupsCoordinator.swift

MyGroupViewController.magik

HomeViewController.swift