问题标签 [unwind-segue]

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 投票
2 回答
1647 浏览

ios - Swift iOS - 解开 segue 崩溃

我目前正在开发我的游戏的一部分,用户ViewController一旦输了就会被带到一秒钟,这是我的GameOverViewController.

GameOverViewController我已经成功地设置了带有插页式广告的第二个视图控制器,该插页式广告在加载后几乎立即运行,replay然后该按钮仅在插页式广告关闭后才处于活动状态。

一旦按下重播按钮,我的应用程序就会崩溃,在我添加延迟之前它运行良好,所以我猜这与我的新代码有关。重播按钮正在执行放松转场(或尝试),有人能帮忙解决吗?

该按钮正确地变灰三秒钟然后变成蓝色,但是一旦单击 viewController 就会挂起然后崩溃。该错误导致 AppDelegate 出现 SIGABRT 错误。这是输出字段的摘录...

这是我的 GameViewController 中的代码,目前这里没有与展开相关的其他代码ViewController

任何帮助都会很棒,谢谢。

0 投票
1 回答
1951 浏览

ios - 从编码按钮中解开 segue - swift

我试图使用 unwind segue 从用户必须选择一个选项的控制器返回:

在主控制器中,用户可以触摸一个按钮,将他们引导到第二个视图控制器,我在其中以编程方式构建按钮(选项)。当用户选择其中一个按钮时,我希望他们返回上一个控制器并传递按钮数据。

我找不到让 unwind segue 工作的方法。

这是我在第二个视图控制器中的内容:

我将控制器链接到情节提要中的退出按钮(选择prepareForUnwind功能),并为 unwindSegue “ BackToPhraseSegue”提供了一个标识符

我错过了什么...

0 投票
1 回答
540 浏览

ios - 展开 segue 和 dealloc

我正在尝试了解 unwind segue 过程。

当 unwind segue 像UINavigationController后退按钮过程一样执行时,是否调用源视图控制器的 dealloc 方法?

如果不是,这是否意味着内存泄漏?

0 投票
2 回答
1226 浏览

ios - iOS Swift - 按下按钮后刷新整个应用程序

我有一个模态显示的视图控制器ChangeViewController,它允许用户更改有关他/她的个人资料的一些信息。用户完成后,按下“接受更改”按钮,我使用展开转场退出ChangeViewController并返回主屏幕。

我是否可以在执行此 unwind segue 之前刷新整个应用程序的数据?截至目前,用户修改后,主屏幕和其他屏幕上的信息保持不变。只有在应用程序重新启动后,信息才会更新。有没有办法以编程方式“重新启动”,以便所有视图控制器都是最新的?更具体地说,有没有办法调用viewDidLoad所有视图控制器的功能,以便更新它们的数据?

首选 Swift 解决方案。谢谢!

0 投票
1 回答
123 浏览

ios - iOS - 如何在 Unwind Segue 中控制动画类型?

我目前有一个有 3 个视图的应用程序

  1. 屏幕 1 - 使用“显示”转场转到屏幕 2
  2. 屏幕 2 - 使用“模态”转场转到屏幕 3
  3. 屏幕 3

我在屏幕 1 中有一个展开转场,并从屏幕 2 和屏幕 3 调用此展开转场。

目前,当我从屏幕 3 调用屏幕 1 的展开转场时,它会作为一个正在关闭的模态视图进行动画处理。

是否有可能让这种展开转场为标准的“弹出”转场设置动画,例如当屏幕从正常导航堆​​栈中弹出时?

0 投票
0 回答
46 浏览

ios - 没有调用 unwind segue 动作

我正在尝试快速构建一个向下滑动的菜单。除了 unwind segue 之外,一切都运行良好。

我有一个 CenterViewController,我在其中实现了以下方法:

在 VC(CenterVC 和 MenuVc)中,我都覆盖了 prepareForSegue 方法。

在故事板中,我“从原型单元格 ctrl 到退出按钮”并将其与 unwind 方法连接

但是,当我触摸 MenuVc 中的单元格时,不会调用 Action(我已经用断点检查过)

我试过像在这个旅游中那样做,但没有奏效。

我犯了错误的任何想法?

0 投票
1 回答
227 浏览

xcode - 在不同的导航堆栈中展开到 viewController 不起作用

在此处输入图像描述

如图所示,我试图将两个视图控制器连接到右侧的视图控制器,作为视图控制器之间的菜单。

当应用程序第一次运行时,它将加载第一个视图控制器。一个按钮将以模态方式显示菜单,并根据按下的按钮(我打算添加更多)显示相应的 viewController。第一次按下 VC2 时,它将加载第二个视图控制器,但是当再次调用菜单并按下 VC2 时,我希望它展开而不是重新加载视图控制器。

我已经设法展开到第一个 viewController,但是当试图展开到第二个 viewController 时,该操作被忽略了。对你的帮助表示感谢。谢谢你。

0 投票
2 回答
430 浏览

swift - 导航栏无法与视图控制器一起展开 segue

show我有三个主视图控制器 A、B、C,它们按segue的顺序呈现。所有三个视图控制器都嵌入在它们自己的导航控制器中。在关闭 C 上呈现的模态控制器 D 后,我想回到控制器 A 并在它出现之前重新加载数据。

我参考了this question中的解决方案来展开segue并在控制器A中编写了一个动作(我使用AViewController来表示控制器A的类):

我通过上述操作在控制器 A 和 C 之间拖出退出,并将 unwind segue 命名为unwindToA。然后在名为 CViewcontroller 的控制器 C 类中,我在一个 ActionSheet 中调用模态视图 D,如下所示:

视图控制器确实成功地展开并重新加载数据。但是,导航栏似乎仍然在控制器 C 上,并且它的标题消失了。我试图在 A 和 C 之间拖动退出导航控制器,并将 unwind segue 动作调用修改为weakSelf.navidationController!.performSegueWithIdentifier("unwindToA", sender: weakSelf),但它不起作用。我在我的 segue 展开时做错了什么导致这个问题吗?

0 投票
1 回答
717 浏览

ios - unwind segue - 检测动画何时完成

我喜欢使用 unwind segues,但遇到了问题......

我有一个父控制器(称为Home),它以模态方式呈现一个子控制器(称为Detail)。

Detail 控制器有一个 tableview 显示核心数据实体的集合,我有一个 Delete 按钮,当它被点击时我想删除所有这些实体,并关闭模式,并更新 home 控制器以显示实体已经删除。

我的第一次尝试self.context.deleteObject(entity)是放松转场,但在有足够多的实体可以让表格视图随动量滚动并且在表格仍在减速时点击删除按钮的情况除外。这会导致崩溃:(

据我了解,这是因为我刚刚删除了实体,但是因为 tableview 仍在滚动(在关闭动画完成时),tableView 试图使即将出现的单元格出列(因为滚动)但随后崩溃因为不再有实体。

  • 如果 viewDidAppear 在模型视图被关闭时被调用,我可以在那里更新 Home(但它没有被调用)。

  • 如果 unwind segue 有一个在动画完成时被调用的闭包,我可以在那里更新 Home (但它不是我能找到的)。

所以现在我手动调用dismissViewControllerAnimated并使用那里的闭包来刷新 Home 控制器......

哪个有效,但感觉不对(我猜是因为我觉得 Detail 控制器必须了解 Home 控制器是“不好的”)。关于什么是更好的方法的任何建议?

0 投票
1 回答
93 浏览

swift - 从 Unwind Segue Swift 垂直对齐 UITextView

我使用 UITextView 在 UIView 中显示文本,我需要文本块在此​​视图内垂直对齐。

为此,我使用了我在网上找到的一种观察者方法,它在大多数情况下都运行良好:

在 viewDidLoad 中:

然后观察者:

我的问题是我有一个弹出该控制器的菜单控制器,并且我正在使用 unwind segue 从菜单返回到 UITextView 控制器。这样做时,文本块将返回到屏幕顶部。

我试图在 unwind 中添加观察者,但它没有效果。我在这里想念什么吗?

谢谢,