问题标签 [dismissviewcontroller]

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 投票
6 回答
169679 浏览

ios - 模态视图控制器 - 如何显示和关闭

在过去的一周里,我一直在思考如何通过显示和关闭多个视图控制器来解决这个问题。我创建了一个示例项目并直接从项目中粘贴代码。我有 3 个视图控制器及其相应的 .xib 文件。MainViewController、VC1 和 VC2。我在主视图控制器上有两个按钮。

这将毫无问题地打开 VC1。在 VC1 中,我有另一个按钮应该打开 VC2 同时关闭 VC1。

我希望它回到主视图控制器,同时 VC1 应该已经从内存中删除了。只有当我单击主控制器上的 VC1 按钮时,VC1 才会出现。

主视图控制器上的另一个按钮也应该能够绕过 VC1 直接显示 VC2,并且当单击 VC2 上的按钮时应该返回到主控制器。没有长时间运行的代码、循环或任何计时器。只是简单地调用视图控制器。

0 投票
4 回答
20793 浏览

ios - 如何在 swift ios 中关闭 2 个视图控制器?

如何在 Swift iOS 中关闭 2 个视图控制器?

下面是我的代码。

0 投票
1 回答
117 浏览

ios - Swift:如何确保没有无限的 ViewController 堆叠在一起(如果需要,如何关闭它们)?

我正在界面构建器中创建一个带有三个 ViewController 的简单应用程序。现在它们按以下顺序呈现:

第一VC > 第二VC > 第三VC

  1. 第一风投

显示主菜单,通过界面生成器连接播放按钮以显示 SecondVC(现在没有代码)。

  1. 第二风险投资

一个简单的游戏。游戏结束后,我以编程方式呈现 ThirdVC。

在出现 ThirdVC 之前(或同时),我想关闭 SecondVC 以便仅在层次结构中:

第一VC > 第三VC

存在。

  1. 第三风投

显示一个简单的游戏结束消息。

当我关闭这个视图控制器时,我想回到 FirstVC,或者更确切地说,因为 SecondVC 已经被关闭,播放器会自动回到 FirstVC。

我怎样才能做到这一点?当然,我知道如何以编程方式呈现和解散 VC,但是如何在呈现新 VC 的同时解散 VC?或者这样做的正确方法是什么?

0 投票
3 回答
372 浏览

ios - 如果您推送并呈现多个视图控制器,如何移动到 parentViewController?

我有一个 tabBar 控制器作为父级,我正在推送一个带有 navigationController 的视图控制器。然后向它展示上面的 2 个其他视图控制器。它就像 Tabbar(homeController) -> Child1(push) -> Child 2(presenting) -> child3(presenting)。我使用计时器解雇了我的最后一个 childViewController。当它被解雇时,我想回到 tabBarController(home)。

我把上面的代码放在我的第二个子视图控制器中。但它又回到了 child1 viewContoller。在这里需要一些帮助。

0 投票
1 回答
35 浏览

ios - IOS/Autolayout:在显示的控制器关闭后更改为显示视图

我试图让自动布局在带有滚动视图的视图控制器上正常工作。当我第一次加载视图控制器时,它并没有做我想做的事。但是,如果我启动第二个模态 VC——恰好是一个 Edit VC,然后将其关闭,而不做任何其他事情,原始 VC 会正确布局(我想要的方式)。

起初,textview 的大小不适合其内容,而只是反映故事板中的占位符视图。

在启动并关闭模态 VC 后,textview 确实采用了它的内容。

据我所知,在 2ndVC 启动过程中没有发生任何事情可以改变 1st 的任何事情。

我的日志显示 ViewDidLoad 在最初加载时仅由第一个 VC 调用一次。Viewwillappear 由第一个 VC 调用两次:当它最初加载时,然后在第二个 VC 被关闭后。

当您关闭呈现的 VC 时,除了 view 之外,还有其他方法会在呈现的 VC 中出现吗?

这是 VC1 中启动第二个 VC 的代码。

//这是VC1 viewWillAppear中获取文本视图高度的代码。启动和关闭 2nd VC 前后的结果变化

0 投票
1 回答
842 浏览

ios - 平移手势一开始,交互式滑动菜单就完成[Swift]

我正在尝试实现一个滑动菜单,该菜单可以通过水平平移以交互方式解除,与 Uber 和 Google 应用程序中的菜单相同。一切都按预期进行,只是一旦我开始水平平移,就会在不跟随我的手指的情况下完成关闭。非常感谢任何有关问题所在的建议。

我进行了子类UIPresentationController化以定义我的菜单控制器的呈现宽度。我有自定义演示文稿动画师和解雇动画师,以及UIViewControllerTransitioningDelegate将它们全部返回到UIKit. 我还在gestureRecognizerShouldBegin(_ gestureRecognizer:)我的菜单控制器中实现了允许垂直滚动的方法。

在此处输入图像描述

SlideDismissAnimator

滑动交互控制器

菜单控制器

0 投票
0 回答
33 浏览

swift - Swift 3 关闭当前视图控制器旁边的所有视图控制器

我已经看到很多关于如何转到根视图控制器的答案,但我想保持打开当前显示的视图控制器,然后关闭当前视图控制器之前的所有视图控制器。

编辑:这是不使用导航控制器的时候。

提前致谢。

0 投票
0 回答
599 浏览

ios - 调用解除方法时iOS应用程序崩溃

从嵌入在 UITabBarController 中的 UIViewController 我执行模态 segue

在我的 UITabBarController 中成为“自我”我的视图控制器。新的 ViewController 完美展现,姑且称之为模态ViewController2呈现ViewController1。如果我尝试关闭ViewController2它,它总是会因未知异常而崩溃。libc++abi.dylib: terminating with uncaught exception of type NSException. ViewController2嵌入在 aUINavigationController但这ViewController2是唯一一个崩溃的。

我试过解雇presentingViewController, presentationControllerpresentedViewControllerself.navigationController?.dismiss没有什么对我有用。

架构是:UITabBarController->ViewController1 -modally present- UINavigationController->ViewController2

这是我的演示代码:

这是我的解雇代码:

0 投票
1 回答
287 浏览

ios - `present` 和 `push` ViewController 的区别

dismissViewController方法无法获得以前的viewcontoller

popViewController工作并转到上一个视图控制器

我想传递如下数据,请帮助我。但正如我描述的dismissViewController方法不起作用。

预先感谢。

更新

此方法包含在 HomeVC 中。当关闭navcontroller它时显示 HomeVC。

关闭视图控制器后可以调用上层方法吗?

解决方案

当我处于初学者水平时,这是一个非常愚蠢的问题。这是关于它的规范。这将取决于您将使用哪种方法Present|| Push视图控制器。

当视图控制器存在时,委托方法将与协议委托方法一起使用。

0 投票
1 回答
57 浏览

ios - 解除控制器委托方法不起作用

我有 2viewcontroller秒,第一个 VC 包含 backButton。

第一个VC.h

并且还包含委托属性

第一个VC.m

firstVC 的后退按钮代码


第二VC.m

接收以下方法

结果日志

但firstVC不会解雇,请查看我的代码并给我一个建议。

提前致谢。