返回上一个视图控制器不起作用

2023-11-30

我的第一个视图控制器有一个按钮,它触发@IBActiongoTo2ndVc()它呈现了第二个 ViewController:

class FirstVC: UIViewController {
   ...
   @IBAction func goTo2ndVc() {
        let secondVc = SecondVC(label: "I am second vc.")
        self.presentViewController(secondVc, animated: true, completion: nil)
    }

按下按钮时,第二个视图控制器将显示在屏幕上。没问题。

在第二视图控制器中,还有一个用于返回到第一视图控制器的按钮:

class SecondVC: UIViewController {
   ...
   @IBAction func backToFirst(sender: AnyObject) {
        print("go back ...")
        self.navigationController?.popViewControllerAnimated(true)
    }
}

我在网上查了一下,人们建议使用navigationController?.popViewControllerAnimated(true)返回到上一个控制器。但是,当我按下“返回”按钮时,我可以看到打印消息“返回...”,但应用程序不会返回到第一个视图控制器。为什么?


@IBAction func backToFirst(sender: AnyObject) {
    print("go back ...")
    self.dismissViewControllerAnimated(true, completion: nil)
}

在 Swift 3 中

self.dismiss(animated: true, completion: nil)

您不应该使用导航控制器,因为在添加第二个视图控制器时没有使用它。这就是为什么只需调用dismissViewControllerAnimated method.

你必须使用UINavigationController和它的pop仅当您通过以下方式添加视图控制器时才使用方法pushViewController method.

在这里熟悉导航控制器的概念:https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/ViewControllerCatalog/Chapters/NavigationControllers.html

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

返回上一个视图控制器不起作用 的相关文章

  • 致命错误:从未对齐的原始指针加载

    For iPhone5 10 2 模拟器这个函数 static func fromByteArray
  • 为什么包装 os_log() 会导致双精度数无法正确记录?

    考虑以下示例 import Foundation import os log class OSLogWrapper func logDefault message StaticString args CVarArg os log messa
  • iPhone在没有私人库的情况下获取SSID

    我有一个商业应用程序 它有完全合法的理由来查看它所连接的网络的 SSID 如果它连接到第 3 方硬件设备的 Adhoc 网络 它需要以不同的方式运行连接到互联网 我所看到的有关获取 SSID 的所有内容都告诉我 我必须使用 Apple802
  • 截取 UIImageView 的屏幕截图我只需要图像 IOS

    在我的 IOS 应用程序中 我正在截取 UIImageView 的屏幕截图 如附件照片所示 非常完美 但在这里 我采取了UIImageView content mode 方面适合 我用过这个代码 func captureView gt UI
  • iOS自动布局:如何动态均匀地间隔项目?

    我需要均匀地间隔 X 个项目 并且项目的容器可以具有动态宽度 并且我希望第一个和最后一个项目粘在左边缘和右边缘 0 item1 itemX 0 这样无论容器有多宽 项目总是均匀分布 如何在布局约束下实现这一点 编辑 我在想 如果我可以将 i
  • 如何将 UIView 的子视图居中

    我有一个UIView里面一个UIView我和我想要内在UIView始终在外部居中 而不必调整宽度和高度的大小 我已经设置了支柱和弹簧 使其位于顶部 左侧 右侧 底部 而无需设置调整大小 但它仍然没有居中 任何想法 你可以这样做 它总是有效的
  • 核心数据插入具有现有关系的新数据

    我的核心数据有问题 我有一个看起来像这样的表 用户 与 机架 与 机架项目的关系 我应该如何将新对象插入到具有用户中现有项目对象和现有机架对象的机架项目中 我尝试获取现有对象 predicate NSPredicate predicateW
  • cordova添加平台android和iOs后并不总是添加插件

    我需要跑ionic platform add android iOs几次就能得到想要的结果 有时插件会在第一次运行后添加 但通常我必须清除插件和平台目录并重新运行添加平台循环几次 直到所有插件都添加到 android 文件夹中 其他人是否遇
  • 如何在 Swift 3 中使用 % 作为后缀一元运算符来计算百分比,并且仍然能够使用 % 进行取模?

    我宣布了 令牌作为后修复运算符以计算百分比 但 Xcode 会报告 is not a postfix unary operator 我的测试代码below基于发现的示例here http www codingexplorer com cus
  • 重新加载 UITableView 中的部分

    我正在编写一个应用程序 通知用户何时该服药 页面顶部的标签显示日期和tableView填充了特定日期需要服用的药物名称和时间 现在 这些部分是根据当天服用的药物数量来填充的 因此 部分的数量会随着时间的推移而动态变化 计划在该特定日期服用药
  • 更新/编辑 coreData 管理对象

    当用户单击 UITableView 中基于 cell accessoryType 的单元格时 我尝试编辑 CoreData 对象 以显示该项目是否已被单击 这是当前的代码 void tableView UITableView tableVi
  • Jenkins:致命:无法初始化类 hudson.util.ProcessTree$UnixReflection

    FATAL Could not initialize class hudson util ProcessTree UnixReflection java lang NoClassDefFoundError Could not initial
  • iOS 人脸检测器方向和 CIImage 方向设置

    EDIT发现此代码有助于处理前置摄像头图像http blog logichigh com 2008 06 05 uiimage fix http blog logichigh com 2008 06 05 uiimage fix 希望其他人
  • xx 秒后恢复到之前的控制器

    我有一个非常简单的应用程序 代码很少 在我的 ViewController 中 我没有执行任何代码 我只添加了一个导航栏 其中包含一个带有视频控制器模式的下一个按钮 我想要实现的是在 ViewController 中按下下一个按钮后 允许用
  • Appium:能否用于跨平台应用程序测试

    我有一个使用跨平台开发工具开发的应用程序 该应用程序对于 ios ipa 和 android apk 具有相同的界面 我可以编写一个自动化脚本并在两个平台上运行它 即 Android 和 iOS 应用程序吗 有人用 Appium 尝试过吗
  • XCode 卡住了“复制符号文件”

    更新到最新版本 6 1 b2 后 Xcode 不再在设备上编译和运行项目 并显示 正在复制符号文件 几个小时 对于这个问题有什么想法或可能的解决方法吗 尝试使用另一根电缆或 USB 端口 其他 USB 端口为我修复了它 并在找到此 Twit
  • .m 文件中的空 @interface 声明有何用途?

    我启动了一个新的 iOS 5 项目 并注意到每个 m 文件顶部都有一些新内容 import HomeViewController h interface HomeViewController end implementation HomeV
  • Swift - 带有两行文本的 UIButton

    我想知道是否可以创建一个包含两行文本的 UIButton 我需要每一行都有不同的字体大小 第一行为 17 点 第二行为 11 点 我尝试过将两个标签放在 UIButton 内 但我无法让它们留在按钮的范围内 我试图在 ui 构建器中完成所有
  • 在特定点停止 CABasicAnimation

    我正在使用创建的旋转动画CABasicAnimation 它旋转一个UIView超过2秒 但我需要能够阻止它UIView被感动了 如果我删除动画 视图将处于与动画开始之前相同的位置 这是我的动画代码 float duration 2 0 f
  • 为什么UICollectionViewCell的outlet为nil?

    我在 Interface Builder 中创建了一个自定义 UICollectionViewCell 将其上的视图绑定到类 然后当我想使用字符串并将其设置为字符串上的标签时 该标签具有 nil 值 override func viewDi

随机推荐

  • Paint 组件方法不适用于 JFrame

    在尝试使用 JLabel 后 我尝试在屏幕上绘制图像 现在正在尝试 PaintComponent 方法 我在没有看到结果后尝试插入断点 并且该方法没有被调用 并且什么也没有出现 我应该怎么办 这是我的重要代码 public void cre
  • 从弹性布局中的 justify-content 中排除具有固定定位的元素[重复]

    这个问题在这里已经有答案了 我目前正在尝试使用 Flexbox 构建响应式网站布局 根据屏幕尺寸我想要一个元素position fixed 这本身正在发挥作用 但是当我使用justify content space between 在包含一
  • JPanel 不响应按键侦听器

    我试图制作一个 JPanel 来显示您按每个导航键的次数 但它只显示 4 个零 在 keyPressed 方法中 我放置了以下代码来相应地处理按键 public void keyPressed KeyEvent event if event
  • 在 Spring-Boot 中从我的服务器调用另一个rest api

    我想根据用户的特定请求从我的后端调用另一个 web api 例如 我想打电话谷歌FCM发送消息 api 用于向事件中的特定用户发送消息 Does Retrofit有什么方法可以实现这一点吗 如果没有 我该怎么做 这个网站有一些使用 spri
  • 在 Matplotlib 中添加没有轴刻度/标签的空子图作为文本子图

    我的目标是创建具有四个子图的图 其中底部两个实际上只是空框 我将在其中显示一些文本 不幸的是 我所有删除 y 轴和 x 轴刻度线和标签的努力都失败了 我对 matplotlib 还很陌生 所以我确信我缺少一些简单的东西 这是我正在尝试的以及
  • C 中的错误处理? scanf和非法字符如何处理? [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我正在用 C 编写一个程序 为了进行错误处理 它会告诉您在 scanf 时查找非法字符
  • 如何从 Windows 窗体应用程序打开记事本并在其中放置一些文本?

    我正在使用 VB NET 和 Visual Studio 2008 我的问题是 如何从 Windows 窗体应用程序打开记事本 然后在记事本窗口中放置一些文本字符串 最简单的方法是编写一个文本文件 然后打开它 而不是相反 您可以使用系统 文
  • 从 URL 获取文件内容?

    当我在浏览器中使用以下 URL 时 它会提示我下载包含 JSOn 内容的文本文件 点击上面网址查看下载的文件内容 根据您的 PHP 配置 这may很容易使用 jsonData json decode file get contents ht
  • Google Places API 是否可以通过maps.google.cn 域使用?

    Google Places API 可以通过maps google cn 域使用吗 这是来自中国的作品 curl https maps google cn maps api geocode json address 1600 Amphith
  • 将不安全 HTML 字符编码为 HTML 字符实体引用的 T-SQL 算法

    我需要创建一个插入触发器后在我的 SQL Server 2008 R2 数据库中 触发器需要从 INSERTED 中获取一些字段 处理它们并将它们放入插入的同一行的不同字段中 关于 加工 我需要帮助想出一个算法在 T SQL 代码中 对不安
  • 尝试获取上个月最后一天时奇怪的 PHP 日期行为

    我刚刚注意到 PHP 日期函数表现得很奇怪 有人能解释一下我做错了什么吗 以下代码显示相同的结果
  • 在正则表达式中创建第 n 层嵌套模式的算法

    正如中所解释的可以使用正则表达式来匹配嵌套模式吗 不可能创建正则表达式来匹配任意嵌套模式 但是是否有可能创建一个算法来生成第 n 级 嵌套 的正则表达式 基本上 我想更换trim whatever with rtrim ltrim what
  • Python - beautifulsoup,应用于文件夹中的每个文本文件并生成新的文本文件

    我正在使用以下 Python Beautifulsoup 代码从文本文件中删除 html 元素 from bs4 import BeautifulSoup with open textFileWithHtml txt as markup s
  • 忽略指定值的 numpy 数组的平均值

    我有许多一维 numpy ndarray 其中包含给定节点和网络中所有其他节点之间的路径长度 我想计算其平均值 但事实上 如果两个节点之间不存在路径 则算法会针对给定连接返回值 2147483647 这一事实使问题变得复杂 如果我不处理这个
  • (视觉)SVN 通过正则表达式忽略文件

    我需要排除具有以下模式的文件 ProjectFoo Data 0 9 14 lgp 如何将 RegEx 用于 Visual SVN 忽略列表 subversion 忽略列表不支持正则表达式 它们被实现为 glob file 模式 这些模式不
  • 如何在onclick事件中调用多个JavaScript函数?

    有什么办法可以使用onclickhtml 属性调用多个 JavaScript 函数 onclick doSomething doSomethingElse 但实际上 你最好不要使用onclick并通过 Javascript 代码将事件处理程
  • Python tkinter 跟踪错误

    我正在尝试为我的代码编写一个 GUI 我的计划是使用 tkinter 的StringVar DoubleVar等来实时监控我的输入 所以我发现DoubleVar trace w callback 功能 但是 每次我进行更改时都会遇到异常 E
  • 如何检查鼠标是否位于 MovieClip 上?

    没有听众参与 问题是 我可以用鼠标移到 and 鼠标输出侦听器 但如果您足够快地将鼠标拖动到影片剪辑上 则可能不会激活其中一个侦听器 我已经尝试过好几次了 我从来没有遇到过 mouseOver 和 mouseOut 的问题 但你可以使用 h
  • 我可以使用 Flutter 更改 iOS (Android) 上的底部颜色吗

    我们可以在 Flutter 中使用 API 在 iOS Android 上更改此颜色吗 是的 您可以使用 API 来更改底部安全区域的颜色 尝试使用以下代码 我希望你的问题能够得到解决 override Widget build Build
  • 返回上一个视图控制器不起作用

    我的第一个视图控制器有一个按钮 它触发 IBActiongoTo2ndVc 它呈现了第二个 ViewController class FirstVC UIViewController IBAction func goTo2ndVc let