如何获取当前 UINavigationController 的引用?

2024-03-12

在 Objective-C 中,获取当前 UINavigationController 引用的最佳方法是什么?我想从任何可能没有引用 UIController、委托或其他任何内容的类访问它。

是否有现有的方法来获取当前的 UINavigationController?我应该向我的应用程序委托添加一些内容并检索它吗?


事实证明,您可以从任何 UIView/UIViewController 后代中获取它,尽管有相当多的点语法。

self.(view).window.rootViewController.navigationController;

如果您使用的是从任何其他类派生的对象,情况也是如此,除非您必须经过UIApplication

[UIApplication sharedApplication].keyWindow.rootViewController.navigationController;

当然,这两者都在很大程度上破坏了 MVC,并且绝对建议将任何必须触及“默认导航控制器”的逻辑添加到根视图控制器中。

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

如何获取当前 UINavigationController 的引用? 的相关文章

  • UIModalPresentationFormSheet 的圆角

    如果这是一个明显的问题 请原谅我 我是个相对较新的人 我有一个模态视图 我设置了自定义尺寸和圆角 void viewWillLayoutSubviews super viewWillLayoutSubviews self view supe
  • 如何处理 iPhone 4s、5 和 6 屏幕尺寸,并使所有内容在所有设备上看起来相同

    我正在使用 Xcode 6 1 并且在我拥有的视图之一中包含许多标签 然而 这些标签在不同的设备中看起来不同 尽管我已经对所有标签添加了约束 但仍然面临同样的问题 如何在所有设备上获得相同的视图布局 如何使每个标签的宽度和高度灵活 取决于屏
  • 我可以在 iOS 中测量蓝牙信号强度吗?

    Can I 测量信号强度我的 iPhone 范围内的蓝牙设备数量 基本上我想要做的是扫描范围内的设备列表 然后查看哪个设备的信号强度最高 在 iOS 中是否可行 如果可以 我该怎么做 是的 有一种方法可以测量蓝牙低功耗 4 0 的信号强度
  • UITableView 显示的行数多于 numberOfRowsInSection 中指定的行数:

    我希望我的 tableView 显示 6 行 其中包含文本 在本例中为 示例 据我所知 我有我的numberOfSectionsInTableView and numberOfRowsInSection 设置正确 请参阅下面的示例代码 NS
  • NSUndoManager 会撤消后台发生的更改吗?

    我有一个编辑视图控制器 我正在使用 NSUndoManager 它是我的持久性存储 核心数据项目 的一组 我的应用程序的功能之一是与外部服务器同步 我想知道的是 如果我正在视图中编辑某些内容 同时应用程序正在与服务器同步 如果我改变主意并决
  • 如何“旋转”图层/视图(例如,就像在 enigmo 中一样)

    我知道如何根据触摸移动图层 但我也希望能够旋转图像 是否有任何示例代码显示如何执行此操作 或者有人可以给我一些建议吗 Thanks 最简单的方法是使用图层的变换属性 float angle M PI rotate 180 or 1 radi
  • 存储和检索多维 NSMutableArray 的最佳方法是什么?

    我将一堆数据存储在 plist 文件 在应用程序文档文件夹中 中 其结构如下 Dictionary description String Value sections Array Array Number Number Array Numb
  • ios7 绘图时出现延迟

    我有一个应用程序 在其中我正在视图上绘制一些草图 到目前为止 在我安装之前它运行良好ios7 我的应用程序使用触摸移动方法来识别运动的变化 但是当我画一条线时 触摸方法被调用 但线不会更新 直到我触摸结束ios7 所以画起来有一点点滞后 它
  • stringFromDate 始终为 NIL

    我知道这是一个重复的问题 但是在 stackoverflow 和 google 上搜索了许多类似的问题后 没有一个解决方案对我有用 我正在尝试将从数据库收到的日期转换为字符串格式以在 iPhone 应用程序中显示 我正在按以下方式将日期转换
  • CF 类型的带有 __attribute__((NSObject)) 的强 @property 不会保留

    更新 自 Xcode 4 6 起 此问题已得到修复 现在 这项技术再次按预期发挥作用 但是 在代码中使用之前 请务必阅读 Rob Napier 出色答案顶部的注释 原帖 ARC Xcode 4 3 1 iOS 5 1 我有一个 CF 类型
  • 传递给 NSDecimalNumber +decimalNumberWithString:locale: 的区域设置参数是什么,以便它始终与使用点 (.) 小数点标记的 NSString 一起使用?

    我有一个 NSString 我想将其转换为NSDecimalNumber 该字符串是从服务器接收的 并且始终使用以下格式进行格式化en US语言环境类似XXX YYY不喜欢XXX YYY 我想创建一个NSDecimalNumber它接受XX
  • 使用 pyobjc 将元数据写入 pdf

    我正在尝试使用以下 python 代码将元数据写入 pdf 文件 from Foundation import from Quartz import url NSURL fileURLWithPath test pdf pdfdoc PDF
  • 一种简单、干净的方式来切换/交换视图?

    我已经看了几个来源 但我仍然很困惑 我想创建一个具有多个视图的应用程序 只有标准视图 没有表视图或其他任何内容 我可以在其中单击每个视图上的按钮来访问其他视图 我已经看到了多种方法来做到这一点 但对我来说唯一有意义的方法是让应用程序委托负责
  • 如果 UIGestureRecognizer 触发,如何取消按钮点击?

    更新 问题似乎是对另一个 GestureRecognizer 的依赖失败 请参阅此问题下面的评论和测试项目 在我的 iPhone 应用程序中 我有一个包含多个 UIButtons 作为子视图的视图 该视图还有一个 UITapGestureR
  • 这是 NSDateFormatter 风格 12 月 18 日星期五

    我想知道这个日期格式是什么Friday December 18th这也是标准的日期格式 或者我必须付出一些努力才能得到这个 Thanks 我不认为th可以通过格式化程序来实现 虽然你可以这样做 NSDate today NSDate dat
  • 如何将媒体附件添加到 iOS 10 应用程序中的推送通知中?

    有多个示例 您应该如何设置项目来添加使用 媒体附件 技术来显示图像的丰富通知 我已经阅读了其中的大部分内容 但我错过了一些内容 因为我的项目没有使用此有效负载显示任何丰富的通知 使用 APNS Tool 和 Boodle 进行测试 aps
  • UIWebView stringByEvaluatingJavaScriptFromString 在后台

    在 iOS 应用程序中 我正在运行一个相当大的脚本UIWebView using stringByEvaluatingJavaScriptFromString 就 JavaScript 字符串的长度而言较大 调用 JavaScript 后会
  • 如何使用 AutoLayout 使 UIView 向上滑动动画?

    this is what I like to achieve 我想执行向上滑动动画 用户可以向上滑动 UIView2 并且 UIView2 将在屏幕上停止一半 我知道如何通过 UIButton 操作以模态方式呈现 UIViewControl
  • 使用 MKPolyline 在地图上绘制用户路线

    我对 Objective c 还很陌生 在我的应用程序中 我试图将用户采取的路线绘制到地图上 到目前为止 这是我仅获取用户当前位置的内容 import StartCycleViewController h import CrumbPath
  • iOS 中的视频可以进行反卷积吗?

    我想拍摄击球手挥动棒球的镜头 但球棒很模糊 视频为 30 fps 通过研究 我发现反卷积似乎是最小化运动模糊的方法 但我不知道是否或如何在我的 iOS 应用程序后处理中实现它 我希望有人能给我指出正确的方向 比如如何在 iOS 中应用反卷积

随机推荐

  • 是否可以选择 Windows 表单标签上的文本?

    是否可以突出显示 选择 Windows 窗体标签控件中的部分文本 我知道使用 RTFtextbox 控件是可能的 但使用该控件会有点矫枉过正 因为我需要创建许多标签实例 是否可以选择 Windows 表单标签上的文本 否 至少没有简单的方法
  • 如何总结组合列表

    我有一个包含 2 个元素组合的列表 如下所示 cbnl lt list c A B c B A c C D c E D c F G c H I c J K c I H c K J c G F c D C c E C c D E c C E
  • 使用消息驱动通道适配器和服务激活器进行事务处理

    我正在开发一个 POC 它执行以下操作 使用消息驱动的通道适配器来接收事务中的消息 调用服务激活器 该激活器使用处理程序将从适配器接收到的消息插入到数据库 并将消息发布到出站通道 现在 如果消息的数据库插入失败 我希望 JMS 消息返回到队
  • OpenSSL 使用固定值来生成 Diffie Hellman 密钥

    根据该文件 https wiki openssl org index php Diffie Hellman Using the Low Level APIs https wiki openssl org index php Diffie H
  • xcodebuild 使用哪个版本的 Xcode?

    我在同一台机器上安装了 Xcode 3 2 和 Xcode 4 0 2 它使用 Hudson 进行自动化 CI 持续集成 构建 当我说两者都已安装时 我的意思是我可以同时或交替使用 Xcode 3 和 Xcode 4 它们都存在于机器上 因
  • C++:有效但未指定的状态。这是什么意思? [复制]

    这个问题在这里已经有答案了 我一直在尝试理解 std move This http www cplusplus com reference utility move doc描述得很好 但它在示例部分中说 而 bar 失去了它的值 现在处于有
  • 如何将值注入 TensorFlow 图的中间?

    考虑以下代码 x tf placeholder tf float32 name x z x tf constant 5 0 y tf mul z tf constant 0 5 with tf Session as sess print s
  • jQuery Ajax 请求每 30 秒一次

    我有这段代码 但当有人访问我的网站时 这些值可能会发生变化 我需要每 30 秒左右更新一次 finance div 这可以做到吗 function getJSON http query yahooapis com v1 public yql
  • 输入字符串 1 无效 UTF-8 Shiny 应用程序

    我正在尝试创建一个闪亮的应用程序并不断收到错误Warning Error in sub input string 1 is invalid UTF 8这阻止了我的selectInput从出现 我尝试过使用utf8包将字符串转换为有效的 UT
  • 将一台机器中一个节点的elasticsearch索引移动到同一台机器的另一个驱动器

    我的机器中有一个 elasticsearch 节点 配有 150gb SSD 和 3 TB HDD 由于 SSD 空间不足 我想将一个索引从 SSD 移动到 HDD 这可能吗 如果是这样怎么办 我可以在硬盘上创建另一个节点 但我宁愿在机器上
  • 获取 Woocommerce 订阅的订阅产品作者

    如何遍历所有当前活跃的 woo 订阅并打印发布与每个活跃订阅 PHP 相关的产品的用户的用户 ID 我认为这样的东西只会提供订阅 args array subscriptions per page gt 1 post type gt sho
  • Matlab:使用互协方差对齐数据

    我想获得 Matlab 中两个数据集之间样本的偏移量 让它们及时同步 这是一个很常见的问题 因此 我使用互相关函数 xcorr 或互协方差函数 xcov 在大多数情况下 两者都为此目的提供类似的结果 对于人工数据 它工作得很好 但我在处理
  • Chai-As-Promised 正在吃断言错误

    我在用着柴如许诺 mocha为了写一些硒网络驱动程序测试 由于 webdriver 广泛使用promises 我想如果我使用 chai as promised 进行此类测试会更好 问题是 当测试失败时 mocha 没有正确捕获错误 它只是失
  • 有没有办法检查一个列表的所有元素是否都包含在球拍的另一个列表中?

    我想要一个执行类似操作的函数 gt function 1 2 3 4 1 2 3 4 5 t 在这种情况下返回 t 因为第一个列表的所有元素都包含在第二个列表中 有没有一个函数可以做到这一点而不必担心顺序 在这种情况下 您不会将列表进行比较
  • 如何以百分比形式设置 Ext.grid.ColumnModel 中的宽度?

    如何设置宽度Ext grid ColumnModel以百分比计算 使用总共 100 的列宽数字并使用 ForceFit 配置视图 例如 var grid new Ext grid GridPanel cm new Ext grid Colu
  • 我需要事务来进行连接查询吗?

    在带有连接的sql查询期间 我需要使用事务吗 我在想这样的事情 Delete table1 table2 table3 FROM table1 INNER JOIN table2 ON LEFT JOIN table3 ON WHERE t
  • 正则表达式获取捕获组的大小

    是否可以编写一个正则表达式 以便我可以稍后在同一正则表达式中引用 第一个捕获组的长度 我在这里想要实现的是捕获连续发生的情况1后面跟着连续出现的确切次数2 s 我想要类似的东西 r 1 2 length 1 where length 1 s
  • 防止 Windows 程序将 ^Z 解释为文件结尾

    我的工作是翻译一个从 C 到 C 的应用程序 该应用程序已安装在 Linux 发行版上 所以我希望 C 和 Linux 的功能 我在读取二进制文件时遇到问题 它说当它遇到一个时到达EOFctrl Z到达文件实际末尾之前的字符 bash 中宝
  • Angular 2:在模板内使用光滑的轮播

    我使用光滑的轮播作为我的角度项目中的组件 这个光滑的组件如下所示 Component selector slick slider template
  • 如何获取当前 UINavigationController 的引用?

    在 Objective C 中 获取当前 UINavigationController 引用的最佳方法是什么 我想从任何可能没有引用 UIController 委托或其他任何内容的类访问它 是否有现有的方法来获取当前的 UINavigati