如何从一个视图控制器弹出到另一个视图控制器

2024-01-29

使用 iOS,我现在有 15 个 ViewController,我想从一个 ViewController 弹出到另一个 ViewController。

我正在使用这段代码:

SecondViewController *Sec=[SecondViewController alloc]init];
[self.navigationController popViewController:Sec animated:YES];

这显示错误this ViewController not exist然后我使用这段代码:

NSArray *array = [self.navigationController viewControllers];
[self.navigationController popToViewController:[array objectAtIndex:1] animated:YES];

这段代码正确地从thirdViewController弹出到secondViewController。但是当我们从第九(9th)ViewController弹出到第五(5th)ViewController时发生了什么然后我在第九(9th)ViewController中使用了这段代码:

NSArray *array = [self.navigationController viewControllers];
[self.navigationController popToViewController:[array objectAtIndex:4] animated:YES];

它不会从第九(9th)ViewController弹出到第五(5th)ViewController,除了将第九(9th)ViewController弹出到第八(8th)ViewController之外。我不知道当我们使用这条线时发生了什么:

NSArray *array = [self.navigationController viewControllers];
NsLog(@"array = %@",array);

当我们在中使用它时Ninth(9th)ViewController。 NsLog 显示:

array=   First(1st)ViewController;  
         Second(2nd)ViewController;
         Eight(8th)ViewController;
         Ninth(9th)ViewController;

我不知道为什么只显示四个视图控制器。每当我使用 15 个视图控制器时。每个视图控制器都会出现此问题。例如,如果我使用弹出表单第十五(15th)ViewController到第五(5th)ViewController,那么同样的问题就会出现。

NSArray *array = [self.navigationController viewControllers];
NsLog(@"array = %@",array);

array=     First(1st)ViewController;  
           Second(2nd)ViewController;
           fourteenth(14th)ViewController;
           fifteenth(15th)ViewController;

我想计算 ViewController 的数量,然后弹出到特定的 ViewController。


您无法弹出新的视图控制器(就像您对 secondaryViewController 示例所做的那样)。

当使用 UINavigationController 时,你

添加控制器到堆栈:

[self.navigationController pushViewController:<yournewViewController> animated:YES];

跳至上一个 with :

[self.navigationController popViewControllerAnimated:YES];

弹出到上一个控制器在堆栈中(必须之前已被推送):

[self.navigationController popToViewController:<ViewControllerToPopTo> animated:YES];

回到根控制器带有

[self.navigationController popToRootViewControllerAnimated:YES];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从一个视图控制器弹出到另一个视图控制器 的相关文章

  • Swift:Tableview 在导航栏下方滚动但在状态栏上方滚动?

    我使用以下技巧隐藏了导航栏的阴影 self navigationController navigationBar setBackgroundImage UIImage for default self navigationControlle
  • 如何在导航栏上添加 UIView?

    我需要覆盖UINavigationBar with UIView像这儿 除了使用带有按钮返回的自定义 UIView 作为导航栏之外 还有其他方法可以做到这一点吗 您可以将子视图添加到应用程序的基本视图 UIApplication share
  • Apple 由于崩溃而拒绝了我的应用程序,无法重现它

    我刚刚上传了一个应用程序到应用程序商店 它是为ios 7开发的 他们拒绝了该应用程序 因为我无法重现崩溃 他们向我发送了这份崩溃报告 Exception Type EXC BAD ACCESS SIGSEGV Exception Subty
  • gestureRecognizer shouldReceiveTouch 持续存在于已释放的视图中导致崩溃

    我有一个相当简单的 UITableView 它在堆栈上推送一个新视图 新视图有一个像这样初始化的gestureRecognizer synthesize swipeGestureLeft void viewDidLoad swipeGest
  • UIAlertView 每次调用都会弹出三次,而不是一次

    我在程序的两个不同部分中从 NSAlert 中得到了奇怪的行为 行为是 出现警报 然后自发地消失 警报重新出现 然后一直保留 直到用户解除 即正常行为 警报再次出现 此行为仅在第一次调用显示警报的方法时发生 第一次之后 它的行为就正常了 以
  • Grand Central Dispatch (GCD) 调度源标志

    我最近不再使用 to GCD 调度来源 https developer apple com documentation dispatch 1385630 dispatch source create监视文件更改 效果很好 API 也变得更加
  • 使用javascript以编程方式触发iOS safari中的复制菜单?

    我正在尝试实现一种用户友好的方式 将一些文本从文本输入字段复制到 iOS Safari 上的剪贴板 我知道无法在这个平台上以编程方式完成此操作 但我希望能够尽可能地指导用户体验 在 iOS Safari 上 当用户手动突出显示某些文本时 会
  • “无法取消归档名为 UITableViewController 的元素”

    我一直在按照 构建你的第二个 iOS 应用程序 教程一步步进行 在教程承诺所有错误都会消失之后 我遇到了这个错误 但直到其他错误都出现后 该错误才出现 全部更正 我尝试编译它 错误 The document MainStoryboard i
  • UIScrollView 与 UITabBarController 切断

    我有一个 UIScrollView 我将其放置在视图中 界面生成器文档 xib m h 但是 UIScrollView 的下半部分被剪切 并且由于我有一个 UITabBarController 而没有显示其下半部分 我在 appdelega
  • iPhone Dev:从子控制器和 TabBar 中的另一个控制器重新加载表视图的数据

    我正在实现一个笔记管理器应用程序 它在 tabBar 中有一个 tableView 其中显示其笔记的主要信息 访问一个注释时 您可以编辑其属性 在 tabBar 的一个按钮中 您可以选择注释在 tableView 中的显示方式 我遇到的问题
  • UITableViewCell 内嵌套 UIStackView 内的 UILabel 有时会被截断

    我的一个表设置中有一个表视图单元格 其中包含以下视图层次结构 外部水平 stackview 固定到单元格内容视图的尾部 前部 底部和顶部边缘 右侧标签固定到其父 stackViewHackView 的尾部 前部 底部和顶部边缘 在我的控制器
  • 自动生成的 Swift 桥接标头中“找不到接口声明”

    我当前的项目包含 Swift 和 Objective C 代码 两种类型的源文件都使用另一种语言的代码 当我进行完全清理并重新编译时 几乎每个 Swift 类声明都出现错误Module Swift h 形式为 Cannot find int
  • AdMob 和 DFP 广告联盟之间的区别?

    我正在尝试在我的 iOS 应用程序上显示横幅广告和插页式广告 但现在我对广告网络感到困惑 AdMob 与 DFP 有何不同 哪一种更适合投放广告 有人可以提供帮助吗 提前致谢 AdMob 是一个广告网络 作为发布商 您可以通过展示从网络投放
  • Swift - 保存在 TableView 中选择的复选标记

    我对 Swift 相当陌生 并且在 TableView 多重选择方面遇到问题 我有多个选择 可以用复选标记进行检查 类似于待办事项列表 当我检查项目时 我希望能够返回 ListView 并保存我的选择 我假设将其保持在已保存状态的代码将位于
  • iOS:如何创建核心数据库的备份副本?以及如何导出/导入该副本?

    我想为我的应用程序的用户提供创建核心数据数据库备份的可能性 特别是在他切换到新设备等情况下 我该怎么做呢 特别是如何重新导入该文件 我的意思是 假设他制作了数据库的备份副本 然后更改了大量内容并想要重置为以前保存的备份副本 我该怎么做呢 T
  • 如何检测 UITableView 中某个单元格的双击?

    如何检测某个单元格上的双击UITableView i e 如果用户进行了一次触摸 我想执行一个操作 如果用户进行了两次触摸 我想执行另一个操作 我还需要知道进行触摸的索引路径 我怎样才能实现这个目标 Thanks 如果您不想创建子类UITa
  • 移动物体而不实际接触物体

    我是 iPhone 开发的初学者 我一直在寻找这个问题的答案 但还没有找到任何东西 我想做的是允许用户移动对象而无需实际触摸该对象 他们可以触摸屏幕上的任何位置 并且当他们移动时 对象将从原来的位置向用户的方向移动移动但不会跳到他们的触摸位
  • Facebook 登录打开错误的应用程序

    我正在尝试使用 facebook 实现应用程序的登录 但每次我尝试登录时 它都建议打开错误的应用程序 我尝试了一些在这里找到的东西 但没有成功 在 Facebook 的开发者页面上我添加了一个后缀 我的 plist 如下 有谁知道发生了什么
  • 带有自定义字体的 UILabel 错误呈现

    在我的 iPhone 应用程序中 我为所有 UILabel 设置了自定义字体 更准确地说 我对 UILabel 进行了子类化 重写了一个方法 在该方法中设置了自定义字体 然后将 IB 中的所有标签设置为该自定义类 现在的问题是 所有文本都渲
  • iOS 目标 c 中的 AES/CBC/PKCS5Padding 结果与 Android 不同

    我在 Android 应用程序中使用 AES CBC PKCS5Padding 代码就像 private static String TRANSFORMATION AES CBC PKCS5Padding private static St

随机推荐

  • 如何获得 Rust 中最大值元素的迭代器?

    我想访问 a 中最大元素旁边的元素Vec
  • 如何动态配置 Opencart Live 站点?

    我有一个 opencart 站点 已从本地服务器移至实时服务器 如何在config php文件中配置站点路径 这是我们对 Opencart 配置文件进行的轻微修改 以便在将商店从开发移动到具有不同路径的实时服务器时节省时间和精力 使用此代码
  • 如何在 iOS 8 下调整 CMMotionManager 数据的方向?

    我的应用程序使用 CMMotionManager 来跟踪设备运动 但 iOS 始终以标准设备方向 底部的主页按钮 返回设备运动数据 为了使运动数据与 UIView 的方向相同 我将视图变换从视图向下累积到窗口 如下所示 CGAffineTr
  • CRM 不支持直接更新实体引用属性,请改用导航属性

    我正在使用 Ms Dynamic Web Api 和 Simple OData 我需要为链接实体添加新记录 我正在使用下面的代码片段并参考文档https github com object Simple OData Client wiki
  • .htaccess - 将子域重定向到文件夹

    这个问题可能已经被问过一千多次了 但我已经尝试了很多脚本 并且用谷歌搜索了很长时间 但什么也没找到 我想 让我们问一下吧 我只是想要m daltonempire nl被重定向到daltonempire nl m 用户不会看到 URL 发生变
  • MySQL 中应该避免使用 MEDIUMINT 吗?

    我在以下博客文章中发现了一条建议不要使用的评论MEDIUMINT 即使在 MySQL 中 也不要使用 24 位 INT 它很愚蠢 而且很慢 而且实现它的代码令人毛骨悚然 4294967295 和 MySQL INT 20 语法打击 http
  • 如何使用 Delegate.CreateDelegate 而不是 Func<> 定义委托?

    我有一个方法和两个委托 如下所示 它就是这样运行的 但我想使用Delegate CreateInstance dx 和 dy 的类型必须是Func
  • 如何在 VisualStudio 中使用 OpenCover 代码覆盖率运行 NUnit 测试?

    我是 NUnit 测试的新手 我能够为我的函数编写测试用例 现在我想要的是知道我的测试用例的代码覆盖率 为此我使用 OpenCover 但我不知道如何安装 OpenCover 并使其与 Visual Studio 2015 一起使用 任何人
  • 有没有办法抑制 TensorFlow 打印的消息?

    我认为这些信息在最初几次确实很重要 但后来就毫无用处了 它实际上使阅读和调试的情况变得更糟 我tensorflow stream executor dso loader cc 128 成功打开 CUDA库libcublas so 8 0本地
  • 错误 440:对象“PivotCaches”的方法“创建”失败

    我一直在尝试创建一个填充数据透视表的宏 然而 我不断得到这个 运行时错误 440 on the Set Cache line 以前 我遇到过其他运行时错误 但这些都很容易修复 我不明白为什么PivotCaches Create在这种情况下不
  • 解析Python文件中的所有方法和类

    我正在尝试构建一个程序 允许用户浏览到包含 python 模块的文件夹 选择文件夹后 它将列出该文件夹中的所有 python 文件以及每个模块的所有类和方法 我的问题是 有什么方法可以在不打开每个文件并解析 def 或 class 的情况下
  • Caffe的train.prototxt中平均值的顺序是什么?

    在我的咖啡馆里 train prototxt 我正在做一些输入数据转换 如下所示 transform param mirror true crop size 321 mean value 104 Red mean value 116 Blu
  • 获取声明为动态的对象的类型

    我想获取动态对象的类型 例如 dynamic tmp Activator CreateInstance assembly nmspace typeName Type unknown tmp GetType 除了上面之外 GetType 返回
  • WPF ClickOnce 错过参考

    我有一个可与本地 SQLite 和 Entity Framework Core 配合使用的 WPF 应用程序 我想使用 ClickOnce 分发我的应用程序 当我使用 Visual Studio 2017 运行它时 一切正常 但是当我使用
  • Python 检查类的实例

    有没有办法检查对象是否是类的实例 不是具体类的实例 而是任何类的实例 我可以检查一个对象不是一个类 不是一个模块 不是一个回溯等 但我对一个简单的解决方案感兴趣 isinstance 是你的朋友吗 它返回一个布尔值 可以通过以下方式使用来检
  • 用于大型密集矩阵乘法的循环平铺/分块

    我想知道是否有人可以向我展示如何有效地使用循环平铺 循环阻塞进行大型密集矩阵乘法 我在做C AB具有 1000x1000 矩阵 我按照维基百科上的循环平铺示例进行操作 但使用平铺得到的结果比不使用平铺的结果更差 http en wikipe
  • 如何让 CakePdf 在 CakePHP 3.x 中工作?

    我已经安装了CakePdf https github com FriendsOfCake CakePdf插件放在 app plugins 文件夹中并遵循所有可能的文档 因此我的设置如下 config bootstrap php Plugin
  • 在 Octave 中创建具有多个绘图的动画

    我正在使用 Octave 编写一个脚本来绘制不同时间段的函数 我希望制作一个情节动画 以便看到随时间的变化 有没有办法保存每个时间点的每个图 以便可以组合所有图来创建此动画 这有点混乱 但您可以执行以下操作 此处适用于 Octave 4 0
  • 将条形码添加到 Report Builder 3.0

    我正在尝试在我的 RDL 报告中嵌入条形码 该报告由Microsoft SQL Server 报表生成器 3 0 我在互联网上找到了几个建议的解决方案 其中之一是添加DLL参考并添加一些代码 但它不起作用 并且总是无法加载DLL 我通过使用
  • 如何从一个视图控制器弹出到另一个视图控制器

    使用 iOS 我现在有 15 个 ViewController 我想从一个 ViewController 弹出到另一个 ViewController 我正在使用这段代码 SecondViewController Sec SecondView