【发布时间】:2018-07-17 07:53:08
【问题描述】:
这是演示,我在didFinishLaunchingWithOptions 中设置了RootViewController,但是viewController 的viewWillAppear 没有被调用!我猜是因为NavigationController添加了ViewController消息的响应链失败?
我知道应该设置为
self.window.rootViewController = navigationController
但我想知道我设置了什么
self.window.rootViewController = mainViewController
为什么不打电话给mainViewController 的viewWillAppear?谢谢。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.window.backgroundColor = [UIColor whiteColor];
ViewController *mainViewController = [[ViewController alloc] init];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:mainViewController];
self.window.rootViewController = mainViewController;
[self.window makeKeyAndVisible];
return YES;
}
viewController.m
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];
}
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
NSLog(@"viewWillAppear");
}
@end
【问题讨论】:
-
self.window.rootViewController = navigationController -
@mag_zbc 与调用 viewwillappear 失败无关
-
我知道它应该设置为 self.window.rootViewController = navigationController;但我想知道我设置为 self.window.rootViewController = mainViewController;为什么不调用 mainViewController 的 viewWillAppear?谢谢。
标签: ios objective-c