从 UInavigationcontroller 呈现视图控制器后,不调用 ios 10 加载视图和 viewwillappear
Posted
技术标签:
【中文标题】从 UInavigationcontroller 呈现视图控制器后,不调用 ios 10 加载视图和 viewwillappear【英文标题】:ios 10 load view and viewwillappear is not called after presenting a viewcontroller from UInavigationcontroller 【发布时间】:2017-07-30 19:00:42 【问题描述】:我有以下代码从导航控制器启动密码视图控制器。除了第一次启动应用程序之外,此代码每次都有效。因此,应用程序在启动时不会显示锁定屏幕。在每个睡眠模式启动后,都会显示密码 VC。我发现当应用程序启动时 loadView 和 viewwillappear 没有被第一次调用。对此的任何帮助表示赞赏。代码如下:
_passcodeViewController = [[KKPasscodeViewController alloc] initWithNibName:nil bundle:nil];
_passcodeViewController.mode = KKPasscodeModeEnter;
_passcodeViewController.hideCancel = YES;
_passcodeViewController.delegate = self;
_passcodeViewController.edgesForExtendedLayout = UIRectEdgeNone;
_passcodeViewController.isLaunchingVideoCall = isLaunchingVideoCall;
_passcodeCompletion = nil;
_passcodeNavController = [[UINavigationController alloc] initWithRootViewController:_passcodeViewController];
UINavigationController* rootNav = (UINavigationController*)self.window.rootViewController;
[rootNav presentViewController:_passcodeNavController animated:YES completion:nil];
【问题讨论】:
你在哪里运行展示 VC 的代码? 您发布的这段代码...在哪个函数中? 我在 applicationWillFinishLaunchingWithOptions 中运行代码。基本上我调用了一个运行这段代码的函数。 【参考方案1】:我想你错过了 NibName, 你的代码是这样的
_passcodeViewController = [[KKPasscodeViewController alloc] initWithNibName:@"KKPasscodeViewController" bundle:nil];
【讨论】:
抱歉没有使用笔尖以上是关于从 UInavigationcontroller 呈现视图控制器后,不调用 ios 10 加载视图和 viewwillappear的主要内容,如果未能解决你的问题,请参考以下文章
从 UINavigationController 切换到 UISplitviewController
从UINavigationController中控制UINavigationItem内容
从 UINavigationController 设置 UITabBarItem 标题?
如何从 UINavigationController 隐藏 UINavigationBar?