问题标签 [rootviewcontroller]

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.

0 投票
1 回答
862 浏览

swift - 返回初始视图控制器时选项卡栏消失

我有 2 个视图控制器,然后标签栏控制器连接到 3 个导航控制器,每个导航连接到多个视图。从连接到导航控制器之一的这些视图之一中,我想再次返回到开始屏幕,这两条线很好:

但是在我这样做并想再次导航到标签栏后,它从视图中消失了。我用它导航到标签栏:

提前致谢。

0 投票
1 回答
1394 浏览

ios - 试图返回开始:无法识别的选择器发送到实例

在结果页面之后,我希望用户按“完成”并返回到列表中的第一个问题。目前,该应用程序因“无法识别的选择器发送到实例而崩溃。

) libc++abi.dylib:以 NSException (lldb) 类型的未捕获异常终止

我读过这个问题可能是它在代码中的位置,但它似乎没问题?

这是按钮的创建:

0 投票
1 回答
142 浏览

swift - 如何在 SlideMenuController swift 中找到标签栏控制器?

我已经实现了一个 EXSlideMenuController 并在滑动菜单控制器中添加了一个 TabBarController 作为主视图控制器,但现在我想找出位于 EXSlideMenuController 内的 TabBarController 的第一个视图控制器。

如何从 ExSlideMenuController 中找出标签栏控制器的第一个视图控制器?

0 投票
1 回答
210 浏览

ios - 迅速。导航控制器。有条件地改变子viewControllers的顺序

如果我有一个带有带有 2 个子视图控制器(vcA 和 vcB)的 navigationController 的故事板,其中 vcA 设置为 navigationController 的根 viewController,并且故事板 segue 将 vcA 连接到 vcB(vcA 和 vcB 显示查看同一对象的替代方式)。

当应用程序启动时取决于用户的偏好,更改导航堆栈中子视图控制器的顺序是否是一种合理的设计模式(如果是的话,我将如何做)。如果用户更喜欢以 vcB 中呈现的方式查看对象,我是否可以在应用程序启动时以某种方式覆盖故事板中的顺序并使 vcB 成为 navigationController 的根 viewController。因此,如果用户偏好是“vcB 视图”,则 navigationControllers 的顺序是 navigationController -> vcB <-> vcA,而正常情况下 navigationController 的顺序是 navigationController -> vcA <-> vcB。

理想情况下,我想继续使用故事板来帮助导航栏按钮配置等

如果这不可能或不推荐,那么在应用启动时有条件地向用户显示不同的 navigationController 子 viewController 的推荐方法是什么。

在此处输入图像描述

0 投票
0 回答
150 浏览

ios - Swift - 如何从 AppDelegate 引用子视图

我的根ViewController被称为MainViewController.
它有一个名为ToolsViewController.
我想ToolsViewController从我的 AppDelegate 中引用子视图 ()。

我可以引用根视图,但是,我似乎无法进入子视图。我尝试了以下方法didFinishLaunchingWithOptions

同样,我可以引用 root ViewController,但我对子视图的引用根本不起作用。

谢谢!

0 投票
1 回答
496 浏览

ios - 将自定义目的地分配给popToRootViewController swift 4

我正在使用 navigationController?.popToRootViewController(animated: true) 将当前视图关闭为上一个视图。我的视图控制器关系如下所示。

每当客户端在 VC2 中时,我都想将导航控制器弹回 VC1。当 rootviewcontroller 设置为 VC1 时,这可以正常工作。但是,当客户端使用 VC3 的 segue 进入 VC2 时,rootviewcontroller 设置为 VC3,导航控制器弹出到 VC3。

我试图像这样更改rootviewcontroller。

但这实际上甚至在执行“navigationController?.popToRootViewController(animated: true)”行之前将视图控制器返回到根视图控制器 (VC1),因此没有动画。

有没有办法在不立即显示根视图控制器的情况下设置导航控制器的根视图控制器?

0 投票
1 回答
45 浏览

swift3 - 如何更改嵌入在 uitabbarcontroller 中的 uinavigation 控制器的根视图控制器?

在此处输入图像描述

请看附图。在这里,我有一个带有导航控制器的 uitabbarcontroller,它有一个作为“第一个视图”的根视图。当我在第一个视图中单击一个按钮时,它会转到“第二个视图”。

在某些时候,我想将导航控制器的根视图控制器更改为第二视图,当单击第二视图中的后退按钮时,它会移动到带有标签栏控制器的第一个视图。

那么为此我该怎么办?间接我想说的是,当用户进入应用程序时,他应该看到带有导航和标签栏控制器的第二个视图控制器,当他按下返回时,他应该移动到带有导航控制器和标签栏控制器的第一个视图

0 投票
2 回答
43 浏览

swift - 我创建的 TableViewcontroller.xib 应该是初始控制器

我是TableViewController由 xib 创建的,不在情节提要上。我有默认加载的视图控制器。现在我想要它TableViewController作为根控制器。提前致谢。

0 投票
2 回答
138 浏览

ios - 在 window!.rootViewController 前面添加一个 UITabBarController Swift 4 类型的 ViewController

我继承了一个直接启动到 UITabBarController 的故事板。在 didFinishLaunchingWithOptions 方法的 AppDelegate.swift 文件中,有以下代码:

我正在尝试更改代码,以便登录屏幕是 rootViewController 但是当我从 tabController 分配中删除 rootViewController 时,我收到一个错误,将 UITableViewController 转换为 UITabBarController 总是失败。有谁知道为什么将 UITableViewController 转换为 UITabBarController 总是失败,除非 UITableViewController 是 rootViewController?有没有办法在不更改 rootViewController 分配的情况下将启动屏幕更改为不同的控制器?这是视觉的故事板: 在此处输入图像描述

0 投票
1 回答
95 浏览

ios - rootViewController 是否总是准备好在 application:didBecomeActive 被调用(iOS)时呈现一个segue?

我的应用在情节提要中有一个 rootViewController 设置。我最初问了这个问题,但我可以看到现在问的问题是错误的:

viewDidLoadrootViewController的方法是否总是application:didBecomeActive在应用程序委托中调用?该 viewDidLoad方法是否总是在 application:didBecomeActive调用之前完成,或者两者可以同时运行?

我可以运行测试,但我知道这些测试并没有考虑到所有情况。我想了解这里是否有适用的硬性规则,或者我是否可能在某个时候处理竞争条件。据我所知,viewDidLoadrootViewController 似乎在被调用之前被调用和完成 application:didbecomeActive,但我不知道这是否是我可以依赖的东西。

我正在使用 iOS 11 和 Xcode 9。

我的 rootViewController 用于显示我的 appUpdating 视图、密码视图、我的法律条款视图、我的 handleImportedFile 视图和我的 tabbarcontroller。它就像一个启动协调器,因为我的加载过程非常复杂。现在我正在移动用户的sqlite数据库的位置,而我的一些用户的数据库很大。它必须在后台完成,但是当 hud 在主队列上运行时,因为应用程序在完成之前无法显示数据。如果我在 期间这样做application:didFinishLaunchingWithOptions,一些用户会得到看门狗计时器。所以我想将加载过程移至application:didBecomeActive(我有一个标志告诉我应用程序是否从终止启动)。当它完成运行时,rootViewController 对相关视图执行 segue。但我认为 rootViewController 需要在那个时候加载,我不确定情况是否总是如此。

基本上,在下面的代码中,我试图找出[self.masterController showApplicableView]导致 rootViewController(我称之为 masterController)执行 segue 的是否在“安全的地方”被调用,或者在任何情况下,它是否可能是此时让 rootViewController 执行 segue 还为时过早。