windows,navigationcontroller,stausbar, 20,充满,

window>navigationcontroller>controller,

status bar 在window 外面么,

1,appdelagate,

CGRect windowFrame =self.window.frame;
    windowFrame.origin.y =20;
    windowFrame.size.height = windowFrame.size.height -20;
    self.window.frame = windowFrame;

2,@implementation TTBaseViewController
//-(void)viewDidLoad
//{
//    [super viewDidLoad];
//    if([[[UIDevice currentDevice] systemVersion] floatValue]>=7.0)
//    {
//        CGRect screen =[[UIScreen mainScreen] bounds];
//        
//        if(self.navigationController)
//        {
//            CGRect frame =self.navigationController.view.frame;
//            frame.origin.y =20;
//            frame.size.height = screen.size.height -20;
//            self.navigationController.view.frame = frame;
//        }
//        
//        else
//        {
//            if([self respondsToSelector:@selector(containerView)])
//            {
//                UIView*containerView =(UIView*)[self performSelector:@selector(containerView)];CGRect frame = containerView.frame;
//                frame.origin.y =20;
//                frame.size.height = screen.size.height -20;
//                containerView.frame = frame;}else{CGRect frame =self.view.frame;
//                    frame.origin.y =20;
//                    frame.size.height = screen.size.height -20;self.view.frame = frame;
//                }
//        }
//    }
//
//}

viewdidload,

viewwillappear,

  self.squareViewController = [[SquareViewController alloc] init];
    [self.squareViewController viewDidLoad];
    self.navigationController = [[UINavigationController alloc] initWithRootViewController:self.squareViewController];
    self.navigationController.navigationBarHidden = YES;
//    [self adaptFrame];
    self.window.rootViewController = self.navigationController;

    [self.window makeKeyAndVisible];

执行顺序,makeKeyAndVisible 时候 才会 调用 viewwillappear,

情况:

1,登陆,没有登陆

2,window,到广场,其它页面到广场,

原文地址:https://www.cnblogs.com/guligei/p/3361051.html