ios - 模式导航 Controller 选择 Controller - Swift

标签 ios objective-c swift uinavigationcontroller

我有这样的场景:

enter image description here

我在带有 TableView 和各种单元格的 View Controller 内有一个导航 Controller 。 当点击单元格时,我会转到另一个 View Controller (带有“TEST”标签文本进行测试)。

我的问题是这样的:

我的应用程序可以从 URL 打开,并且在其查询字符串中有一个参数,指示必须打开哪个 Controller (带有 TableView 或带有标签的 Controller )。

我无法找到一种模式来以“干净”的方式实现这一目标。

例如:

我收到一个带有查询参数的 URL,表明我必须使用标签打开 Controller 。

我如何组织代码以指示您必须首先转到带有表格的 Controller 并模拟单元格点击,然后转到最终 Controller ?

最佳答案

每个导航 Controller 都有 View Controller 数组。如果您需要添加两个 View Controller ,您可以使用下一个解决方案:

NSMutableArray *controllers = [self.navigationController.viewControllers mutableCopy];
[controllers addObject:tableVC];
[controllers addObject:labelVC];
[self.navigationController setViewControllers:controllers animated:YES];

这将使 labelVC 动画化,而 tableVc 在此过程中不可见。当用户按下后退按钮时,他将返回到tableVC

关于ios - 模式导航 Controller 选择 Controller - Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45404141/

相关文章:

iphone - IOS6 防止/限制在 MKMapView 中缩放

ios - 在单词或字符边界处截断包含表情符号或 unicode 字符的字符串

ios - shouldChangeCharactersInRange 如何在 Swift 中工作?

ios - watchOS,WCSession activationDidCompleteWith "activated",但无法访问

ios - 从FlashDevelop发布到iOS的问题:compile-abc不兼容

ios - 如何处理 "don' t 允许"iMessage 扩展中的权限?

ios - iPad 屏幕尺寸返回错误值

android - iOS/Android SDK 中的 C++17 支持

ios - 没有导航 Controller 的 UIViewController 之间的转换

swift - 防止升级用户时 CoreData 崩溃