问题标签 [poptoviewcontroller]
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.
ios - [self.navigationController popToViewController:VC2 动画:NO]; 碰撞
嗨,我正在开发一个我应该去的应用程序:
- 从
UIViewController
1 到UIViewController
2 - 从
UIViewController
2 到UIViewController
3 - 从
UIViewController
3 到UIViewController
4 - 从
UIViewController
4 回到UIViewController
2
我正在使用UINavigationController
. 当我使用时[self.navigationController pushViewController:VC2 animated:NO];
,[self.navigationController popViewControllerAnimated:NO];
一切正常。
但是当我使用[self.navigationController popToViewController:VC2 animated:NO];
from UIViewController
4 应用程序终止说Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Tried to pop to a view controller that doesn't exist.'
以下是我的代码如何弹出到UIViewController
2
当我打印导航数组时,它UIViewController
在堆栈中显示 2。我UINavigationController
从编辑器->嵌入->导航控制器中添加了
谁能告诉我为什么会这样?我试图搜索这个问题,但没有任何帮助
ios - 在点击导航返回按钮上转到其他一些 ViewController
通常,点击后退按钮会将我带到上一个视图控制器,但是当我点击后退按钮时我想转到其他视图控制器。所以这就是我所做的:
但这行不通。有人对此有任何想法吗?我很感激任何建议!
ios - 与 ios8、popToViewController 和 UIViewControllerHierarchyInconsistency 崩溃
iOS7、Xcode 和 5 一切都很好 - 在升级到 Xcode 6 和 iOS8 之后,应用程序突然崩溃,它一直运行良好。
崩溃时显示的错误是:
由于未捕获的异常“UIViewControllerHierarchyInconsistency”而终止应用程序,原因:“将根视图控制器添加为视图控制器的子级:”
我设法找到了造成问题的单行:
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:4] animated:YES];
该应用程序在锻炼时最多可添加 8 个视图;当练习完成后,回到最后一个视图,也就是练习的菜单,所以 4. 有点硬编码但简单而高效,因为它总是如此。
而且我不知道 popToViewController 正在这样做。
任何帮助或想法将不胜感激。
ios - Poptorootviewcontroller 有延迟
我有一个执行 poptorootviewcontroller 的方法“测试”。我想在 poptorootviewcontroller 的动画之前放一些延迟。这是我的代码:
但它不起作用。有什么帮助吗?谢谢!
ios - popToRootViewControllerAnimated 没有正确设置提示
我有一个简单的场景:一个带有多个嵌入 UITableViewControllers 的 UINavigationController。
每个 UITableViewController 都有一个提示集,除了 ROOT UITableViewController(没有提示)。
并且在每个 UITableViewController 中,都有一个 UIBarButtonItem 可以返回到 ROOT UITableViewController:
它实际上回到了 ROOT UITableViewController,但它保留了最后一个 UITableViewController 的提示,同时它假设删除它(知道 ROOT UITableViewController 没有提示)。
但是当我使用并多次使用代码点击自定义 UIBarButtonItem 时:
它按预期删除提示。
为什么 popToRootViewControllerAnimated 不删除提示?尤其是在 iOS 8.x 中。因为它在 iOS 7.1.2 中工作,
所以我使用最新的 Base SDK 8.1
ios - 如何取消 PresentViewController 动画
我有 viewController1(在 UINavigationController 中)呈现 viewController2 问题是当 viewController2 被呈现时(大约需要 0.2 秒),应用程序中的事件可能会导致 viewController1 被弹出。
然后我得到:
对 DetailsViewController 的开始/结束外观转换的不平衡调用:0x7e6191a0。
而且 viewController2 在屏幕上也被“孤立”了(没有办法删除它)..
这是代码(在 Xamarin c# 中,但在 Objective C 中存在相同的问题):
问题是 this.DismissViewController 实际上并没有在 viewController2 仍在动画时关闭它。
(如果正在进行 Push 动画,也会出现类似的问题)。
一个解决方案是将 PopToRootViewController 的请求“排队”并在 this.PresentViewController 的 completionHandler 中运行它。但这非常麻烦,意味着应用程序中的所有事件都必须排队,所有动画都必须有完成处理程序。
我真的需要一种方法来取消当前动画(this.View.Layer.RemoveAllAnimations() 不适用于 presentViewController),这样 DismissViewController 才能正常工作,并且可以毫无问题地调用 PopToRootViewController。
人们如何处理这个“不可取消的动画”问题?
更新:
还有一个相关的问题,现在我们必须使用 UIAlertController 而不是 UIAlert,请参阅背景:
如果已经显示警报,则显示 UIAlertController
在呈现 UIAlertController 之前,我们必须等待所有 presentViewController 动画完成。这对于我们想要在警报中显示的推送通知之类的东西来说很难,但它可能会在动画期间到达。
ios - popToRootViewcontroller 推送到同一个视图,在推送视图上点击返回时崩溃
目前我有一个 UITableViewController 和一系列选项卡。一旦我收到通知,我就会显示本地警报,当它被点击时,我会向用户显示当前对话。我的路径是。
UITableViewController > 房间 > 聊天对话
问题是。我认为 [nav popViewControllerAnimated:NO]; 因为它可以很好地将同一 VC 从一个对话推到另一个对话。但是当我点击后退按钮时它会崩溃。它执行来自 rootViewControler 的推送,但当我回击时无法找到通往房间的路。
代码:
堆栈跟踪:
ios - iOS禁用按标签栏按钮弹出到根视图
我希望禁用按下我的标签栏并返回导航层次结构中的根视图的功能,同时在我的导航栏中为按钮保留此功能。
因此,我希望用户返回根视图的唯一方法是按下导航栏中的按钮,而不是点击标签栏按钮。
我环顾四周并尝试了几种解决方案,但似乎都不起作用,因为它们禁用了导航栏按钮和标签栏按钮的功能,而不仅仅是标签栏按钮。
谢谢!
ios - 删除 viewdisappear 上的子视图出现时再次添加 - 不工作 - ios sdk
我正在使用该应用程序,并希望在视图消失时删除表视图,并希望在视图出现时添加相同的表视图。
目前
从 A ctr(push) -> B ctr
从 B ctr(push) -> C ctr - 我从 viewwilldisappear 的 superview 中删除了 B ctr 中的 tableview - 工作正常。
从 C ctr(pop) -> B ctr -- 在 B ctr的视图中,我再次添加了表格视图。Viewwillaprea被调用,但tableview 未添加为子视图。
4 从 B ctr(pop) -> A ctr
- From A ctr(push) -> B ctr -- 这次在 B ctr tableview 出现。
似乎当我返回 popViewControllerAnimated 时,它没有将表添加为子视图。
我在xib中有表。
我想这样做是为了释放分配的内存。
桌景出口
删除 viewWillDisappear 中的表格视图
在 viewWillAppear 中重新添加
提前致谢
ios - 如何弹出未在 Swift 中初始化的 popToViewController?
我面临的问题是我在主屏幕上有四个视图控制器。如果用户直接从 Main VC 转到第二个视图控制器。我无法使用 popToViewController 导航到第一个 VC,因为在内存中我们只有两个 ViewController,即 Main VC 和我的第二个 VC。
如何导航到尚未初始化的第一个 VC?
代码如下:
请提出解决方案。提前致谢。
注意:我正在做 instantiateViewControllerWithIdentifier 但问题是它导航到我的第二个 VC,它不被接受。