0
정규식으로 상태 표시 줄 및 탐색 기능을 조작하는 방법은 무엇입니까?iOS : 상태 표시 줄 및 탐색 모음 : 공백 또는 밑받침
내 목표는 상태 표시 줄과 탐색 모음을 동시에 숨기고 표시하는 것입니다.
정상적인 방법으로해야 할 일 (공백 상태 표시 줄을 탐색 모음에 놓음)과 정상 회전을 지원합니까?
나는 그것을 연주했고 지금은 코드가 없습니다 :
-(void)tryToManipulateWithTopBarsIsHidden:(BOOL)hidden{
if (self.wantsFullScreenLayout) {
// Get status bar height if visible
CGFloat statusBarHeight = 0;
[self topBarsHiddenStateAppearingOrDisappearingStatusBarHidden:hidden
navigationBarHidden:hidden];
// Get status bar height if visible
if (![UIApplication sharedApplication].statusBarHidden) {
CGRect statusBarFrame = [[UIApplication sharedApplication] statusBarFrame];
statusBarHeight = MIN(statusBarFrame.size.height, statusBarFrame.size.width);
// statusBarOrigin = MIN(statusBarFrame.origin.x,statusBarFrame.origin.y);
}
// Set navigation bar frame
// if status bar is visible and
// nav bar origin in y is not the same as status bar (magic, really)
// we need to set nav bar origin y to status bar origin y (auto shifting to bottom)
CGRect navBarFrame = self.navigationController.navigationBar.frame;
// if status bar is visible
if (![UIApplication sharedApplication].statusBarHidden){
navBarFrame.origin.y = statusBarHeight;
navBarFrame = CGRectOffset(navBarFrame, 0.0, -20.0);
self.navigationController.navigationBar.frame = navBarFrame;
}
self.navigationController.navigationBar.hidden =[UIApplication sharedApplication].statusBarHidden ;
LogRect(@"this is statusBar ", [UIApplication sharedApplication].statusBarFrame);
LogRect(@"this is navigationBar ", navBarFrame);
}
}
- (void)setTopBarStatusBarHidden:(BOOL)hidden onCompletion:(void(^)(UINavigationBar*))completion andNavigationBar:(UINavigationBar*)bar{
[[UIApplication sharedApplication] setStatusBarHidden:hidden];
completion(bar);
}
- (void)setTopBarNavBarHidden:(BOOL)hidden{
[self.navigationController setNavigationBarHidden:hidden animated:NO];
}
- (void)topBarsHiddenStateAppearingOrDisappearingStatusBarHidden:(BOOL)statusBarHidden
navigationBarHidden:(BOOL)navigationBarHidden{
UINavigationBar* bar = self.navigationController.navigationBar;
id fles = self;
[self setTopBarStatusBarHidden:statusBarHidden
onCompletion:^(UINavigationBar *bar) {
if (statusBarHidden){
[fles setTopBarNavBarHidden:navigationBarHidden];
}
else
[fles setTopBarNavBarHidden:navigationBarHidden];
}
andNavigationBar:bar];
}
하지만 아무것도!
아무도이 지저분한 (실제로 작동하지 않는 코드)없이이 작업을 해결하는 방법을 설명 할 수 있습니까?
제발, 제 질문을 읽으십시오 : 나는 숨기거나 공간과 밑받침없이 함께 보여주고 싶습니다. – gaussblurinc