当用户点击屏幕时,我试图隐藏状态栏和导航栏。这很好用,但是当导航栏和状态栏出现并从屏幕上消失时,它总是会调整“视图”的大小。因此,我认为 setWantsFullScreenLayout: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;
}
所以我的问题是¿这里是否有一些逻辑来调整视图的大小?
提前致谢。