Ios 当主视图为UIScrollView而不是UIView时隐藏导航栏调整大小视图

Ios 当主视图为UIScrollView而不是UIView时隐藏导航栏调整大小视图,ios,uiview,uiscrollview,loadview,Ios,Uiview,Uiscrollview,Loadview,当用户点击屏幕时,我试图隐藏状态栏和导航栏。 这很好,但当导航栏和状态栏出现并从屏幕消失时,它总是调整“视图”的大小。因此我认为SetWantFullScreenLayout:YES不起作用。 下面是代码摘录: - (void)loadView { // Make transparencies of bars and full screen [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarSty

当用户点击屏幕时,我试图隐藏状态栏和导航栏。 这很好,但当导航栏和状态栏出现并从屏幕消失时,它总是调整“视图”的大小。因此我认为SetWantFullScreenLayout:YES不起作用。 下面是代码摘录:

- (void)loadView
{   
    // Make transparencies of bars and full screen
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent];
    [self.navigationController.navigationBar setBarStyle:UIBarStyleBlackTranslucent]; 
    [self setWantsFullScreenLayout:YES];       

    pagingScrollView = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    /* ... */

    // Assign to UIScrollView !!
    self.view = pagingScrollView;
}
但是,如果我将self.view指定给UIView而不是UIScrollView,则当导航栏和状态栏出现并从屏幕上消失时,不会调整视图的大小

- (void)loadView
{   
    // Make transparencies of bars and full screen
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent];
    [self.navigationController.navigationBar setBarStyle:UIBarStyleBlackTranslucent]; 
    [self setWantsFullScreenLayout:YES];       

    pagingScrollView = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    /* ... */

    // Assign to UIView !!
    UIView * mainView  = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    [mainView addSubview:pagingScrollView];
    self.view = mainView;
}
所以我的问题是,这里是否有调整视图大小的逻辑


提前感谢。

尝试[自我设置WantsFullScreenLayout:是];在init method中,我刚刚尝试过并调整了视图的大小。很抱歉无论如何,谢谢将您的图像放在自定义导航栏下,并使图像全尺寸为320x480。或者在隐藏导航栏和状态栏时设置图像大小调整的动画