问题标签 [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.
swift - 将 NavigationBarController 设置为 rootViewController
我尝试使用 MVC 模式,其中我的 NavigationController 实例化并控制我的所有视图和相应的视图开关。为此,我只需实例化我的 navigationController 并将其设置为 app delegate 中的 rootViewController。
在viewDidLoad()
我的 NavigationController 类的函数中,我只是用 myTableViewController 实例化我的第一个“真实”视图并将其推到前面。
尽管一切正常,但我收到控制台警告:
无法为 UIMainStoryboardFile 'Main' 实例化默认视图控制器 - 也许未设置指定的入口点?
我认为会出现此警告,因为 navigationController 不是“真正的” ViewController ...但是如何在 App 委托中实例化 MyTableView() 的情况下修复它?
swift - ActivityViewController 弹出窗口不在屏幕顶部
我有一个分享按钮来分享我的屏幕截图。虽然我实现了一个扩展来获取 rootViewController,但我的 ActivityViewController 的弹出窗口仍然在我想要共享屏幕截图的窗口后面,请参阅附加图片。我已经尝试在 handleShare() 中加载我的 handleDismiss() 函数,但到目前为止还没有成功。也许有人可以让我走上正轨,这里发生了什么。
非常感谢您提前。
扩大
ios - viewDidLoad 调用了两次,使用导航控制器
我ViewDidLoad
在 a 上的方法ViewController
被调用了两次,但仅在特定情况下。我需要展示两个视图控制器,一个如果用户未登录,第二个如果用户已登录。我正在使用情节提要并已将导航控制器设置为其中的初始视图控制器。
在我的AppDelegate
didFinishLaunchingWithOptions
方法中,我ViewControllers
用所需的控制器填充了数组,如下所示
ViewDidLoad
方法 inHomeVC
被调用两次,而它只被调用一次 for LoginVC
。
我已经尝试在文章中搜索viewDidLoad 被调用了两次,并且viewDidLoad 在启动时在 rootViewController 上被调用了两次,但无法解决这个问题。
ios - rootViewController 调用后未加载,使用 -> present(viewControllerToPresent: UIViewController, animated: true, completion: nil)
我的 rootViewController 工作并加载正常。但是,当我使用present(viewControllerToPresent: UIViewController, animated: true, completion: nil)
另一个 viewController 调用它时,我只得到一个黑屏。
我查看了整个 stackOverflow,但只为故事板用户找到了解决方案。我正在以编程方式执行此操作
swift - 尝试劫持根视图控制器时收到 SIGABRT 错误
我试图让我的应用程序根据用户的 NSUserDefaults 中的数组是否为空来打开不同的视图控制器。本质上,如果用户之前在应用程序中保存了数据,应用程序将打开到他们可以选择数据的位置。否则,应用程序将打开欢迎屏幕。
但是,当数组为空时,我会看到我为欢迎屏幕设置的背景颜色,而不是我在情节提要中布置的文本或按钮。当数组不为空并且数据页面应该打开时,我的应用程序会因 SIGABRT 错误而崩溃。我检查了有问题的视图控制器的所有插座,似乎没有任何东西断开连接。此外,当我注释掉应用程序委托中的代码并将数据视图控制器设置为我的初始启动视图时,应用程序运行良好。
完整的错误是“线程 1:信号 SIGABRT”,它在类 AppDelegate 行中被标记。
我在 App Delegate 中使用的代码如下:
ios - 使用 xcode 调试视图层次结构时,将新的 rootViewController 分配给窗口不会从视图层次结构中删除当前
分配新的根视图控制器时未删除旧的根视图控制器
我想从头开始重新加载应用程序,但我注意到旧的根视图控制器没有从视图层次结构中删除
swift - 从 UIWindow 访问 UITransitionView
在我的应用程序中,我有一个 UINavigationController,身份验证后我运行执行 segue(推送替换)以导航到 UINavigationController,当应用程序进入后台时,我再次显示身份验证页面,我在一个名为 ScreenLocker 的分类中执行此操作
但是在n
时间的应用程序进入后台后,我有n
UINavigationControllers 和一个身份验证控制器(当我看到调试视图层次结构时我找到了它),知道显示 UINavigationController 如何删除身份验证视图控制器?
我当前的视图控制器是突出显示的视图控制器,它位于所有视图的前面,我想删除它并显示另一个视图。
ios - 如何理解这行 Swift 代码弹出到根视图控制器?
我想编写一些代码从当前视图控制器弹出回根视图控制器。令人困惑的是,我找到了很多关于这个的答案,有各种各样的语法。(我猜测 Objective C 或不同版本的 Swift 中的旧答案......)这是目前在我的 AppDelegate 中为我工作的最简单的语法:
我通过查看这个答案得到了这么多:https ://stackoverflow.com/a/23027260/8887398 他的语法略有不同,我猜这是从 2012 年开始的旧语法,所以我不得不稍微改变它,但它是使用我上面的代码。
问题:我真的不明白代码的第二行发生了什么。当然,我知道它会弹回根视图控制器,但我根本不理解语法。最令人困惑的是代码被一对我完全不理解的 [ ] 括号包围。接下来,popToViewController 以点“.”开头,这与我链接的答案不同。我习惯使用“。” 访问对象的属性,但这里它只是单独使用,左侧没有任何东西。
这段代码似乎对我来说运行正常,但是我在互联网上找到了无数版本的语法和弹回根视图控制器的方法,我不知道我所做的是否正确或它是如何工作的全部。我所知道的是“它现在正在工作”。请帮助我理解这段代码。
ios - 当以编程方式设置为根视图控制器时,Storyboard 的视图控制器未显示
我正在尝试根据应用启动时的某些条件更改 rootVC。我所有的 VC 都是在故事板中制作的,所以我这样做:
我已经从情节提要中删除了显示初始 VC 的箭头,这样它就不会与代码发生冲突。但是,我收到了这个错误,模拟器的屏幕上什么也没显示:
[应用程序] 无法为 UIMainStoryboardFile 'Main' 实例化默认视图控制器 - 可能未设置指定的入口点?
我现在已经从 info.plist 中删除了“主故事板文件基本名称”属性。这次错误消失了,但仍然没有出现。我究竟做错了什么?