Nie można ukryć paska stanu w iOS7
[2]}właśnie uaktualniłem mojego iPhone ' a 5 iOS 7 do czterech wersji beta. Teraz, gdy uruchamiam moją aplikację z Xcode 5 na tym iPhonie, pasek stanu nie ukrywa się, mimo że powinien.
Nie Działa:
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
Nie Działa:
[UIApplication sharedApplication].statusBarHidden = YES;
Nie można zalogować się na forach programistów Apple
25 answers
W pliku plist aplikacji Dodaj wiersz nazwij go "wygląd paska stanu na podstawie kontrolera" i ustaw go na NO
Zauważ, że to po prostu nie działa, jeśli używasz UIImagePickerController w aplikacji.
Od http://www.openfl.org/developer/forums/general-discussion/iphone-5ios-7-cant-hide-status-bar/, rozwiązanie mgiroux
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-09 09:17:16
Dodaj metodę do kontrolera widoku.
- (BOOL)prefersStatusBarHidden {
return YES;
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-16 23:07:59
W Pliście dodaj następujące właściwości.
-> Status bar is initially hidden
= TAK
-> View controller-based status bar appearance
= NIE
Dodaj oba-teraz pasek stanu zniknie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-16 23:07:10
Aby ukryć pasek stanu w jednym widoku, należy użyć:
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
Na początku mi to nie działało, a potem piła w dokumentacji tej metody, która mówi: // Ustawienie statusBarHidden nie robi nic, jeśli aplikacja używa domyślnego systemu paska stanu opartego na UIViewController.
Należy to zrobić w pliku plist, dodając klucz {[1] } ustawiony na NO
.
I wtedy zadziałało.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-16 22:52:49
Aby ukryć pasek stanu w iOS7 potrzebujesz 2 linijek kodu
-
Inapplication:
(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
write[application setStatusBarHidden:YES];
-
W info.plist add this
View-Controller Based Status Bar Appearance = NO
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-14 06:15:15
Aby użyć starszej metody UIApplication, aby ukryć / pokazać pasek stanu, aplikacja musi ustawić wartość plist dla iOS 7:
View-Controller Based Status Bar Appearance = NO
Wartość ta jest domyślnie ustawiona na YES. Jeśli zmienisz go na nie, możesz użyć starszych metod. Jeśli pozostawisz ustawienie tak, nadal możesz ukryć pasek stanu, ale do każdej podklasy kontrolera widoku w Twojej aplikacji należy nadpisanie: prefersStatusBarHidden
, aby zwrócić Yes.
Za każdym razem, gdy aplikacja wymaga zmiany wyglądu lub widoczności paska stanu, oraz Wygląd paska stanu w widoku kontrolera jest ustawiony na tak, zewnętrzny kontroler widoku musi wywołać:
setNeedsStatusBarAppearanceUpdateAnimation
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-17 17:22:14
Jest tak wiele kombinacji sugerowanych dla tego problemu, ale problem polega na tym, że iOS 6 i 7 używają różnych metod, aby ukryć pasek stanu. Nigdy nie udało mi się ustawić ustawień plist, aby włączyć zachowanie w stylu iOS6 na iOS 7, ale jeśli budujesz aplikację do obsługi iOS 6+, musisz użyć 3 metod jednocześnie, aby upewnić się, że dany kontroler widoku ukrywa pasek stanu: {]}
// for ios 7
- (BOOL)prefersStatusBarHidden{
return YES;
}
// for ios 6
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[[UIApplication sharedApplication] setStatusBarHidden:YES];
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
// explicitly set the bar to show or it will remain hidden for other view controllers
[[UIApplication sharedApplication] setStatusBarHidden:NO];
}
Powinno to działać niezależnie od ustawień plist.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-08 17:37:48
Musiałem wykonać obie zmiany poniżej, aby ukryć pasek stanu:
Dodaj ten kod do kontrolera widoku, w którym chcesz ukryć pasek stanu:
- (BOOL)prefersStatusBarHidden
{
return YES;
}
Dodaj to do swojego .plik plist (przejdź do 'info' w ustawieniach aplikacji)
View controller-based status bar appearance --- NO
Następnie możesz wywołać tę linię, aby ukryć pasek stanu:
[[UIApplication sharedApplication] setStatusBarHidden:YES];
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-30 01:50:27
Wystarczy dodać te 2 linijki w info.plik plist. Spowoduje to poprawkę dla iOS7 i starszej wersji.
- pasek stanu jest początkowo ukryty = tak
- Wyświetl pasek stanu oparty na kontrolerze appearance = NO
Przejdź do projektu i wybierz cele - > ogólne i zobacz " Styl paska stanu ...Ukryj podczas uruchamiania aplikacji " pole wyboru zostanie zaznaczone. To zadziała.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-11 05:25:52
Spróbuj tej prostej metody:
- (void)viewWillAppear:(BOOL)animated
{
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
}
- (void)viewWillDisappear:(BOOL)animated
{
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-21 12:26:28
Jedyną rzeczą, która mi pomogła, jest dodanie następującego w pliście
<key>UIStatusBarHidden</key>
<true/>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-15 19:45:12
Najprostszą metodą, jaką znalazłem, aby ukryć pasek stanu w całej aplikacji, jest utworzenie category
na UIViewController
i nadpisanie prefersStatusBarHidden
. W ten sposób nie trzeba zapisywać tej metody w każdym kontrolerze widoku.
UIViewController+HideStatusBar.h
#import <UIKit/UIKit.h>
@interface UIViewController (HideStatusBar)
@end
UIViewController+HideStatusBar.m
#import "UIViewController+HideStatusBar.h"
@implementation UIViewController (HideStatusBar)
//Pragma Marks suppress compiler warning in LLVM.
//Technically, you shouldn't override methods by using a category,
//but I feel that in this case it won't hurt so long as you truly
//want every view controller to hide the status bar.
//Other opinions on this are definitely welcome
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wobjc-protocol-method-implementation"
- (BOOL)prefersStatusBarHidden
{
return YES;
}
#pragma clang diagnostic pop
@end
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-14 11:47:20
-(BOOL)prefersStatusBarHidden
{
return YES;
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-09 10:24:23
-
In plist add - - - -
Wygląd paska stanu opartego na kontrolerze - - - nie
-
W każdym viewcontrollerze napisz
- (void) viewDidLayoutSubviews { CGRect viewBounds = self.view.bounds; CGFloat topBarOffset = 20.0; viewBounds.origin.y = -topBarOffset; self.view.bounds = viewBounds; [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];//for status bar style }
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-30 09:48:08
Kroki ukrywania paska stanu w systemie iOS 7:
1.Przejdź do informacji o aplikacji.plik plist.
2.I ustaw, wyświetl wygląd paska stanu opartego na kontrolerze: Boolean NO
Mam nadzieję, że rozwiązałem problem z paskiem stanu.....
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-30 11:48:31
Dla systemu iOS 7 w jednym widoku użyj metody viewWillappear:
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];
Do wyświetlenia paska stanu użyj:
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-14 05:39:19
W pliku Info Plist Dodaj wiersz dla następującej właściwości
Nazwa właściwości: wyświetl wygląd paska stanu opartego na kontrolerze
Value: NO
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-09 11:33:55
Wiele odpowiedzi w tym wątku działa, ale rozumiem, że jeśli próbujesz zrobić coś dynamicznego, musisz w końcu zadzwonić:
[self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-01 01:49:42
Spróbuj dodać następującą metodę do kontrolera widoku głównego aplikacji:
- (BOOL)prefersStatusBarHidden
{
return YES;
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-25 12:03:53
Próbowałem wszystkich tych opcji zamieszczonych tutaj w moim projekcie i nie zadziałały. Pomyślałem, że może to mieć związek z tym, że zaktualizowałem mój Xcode
, a następnie aplikację do iOS 7 i niektóre ustawienia gdzieś się pomieszały. Postanowiłem zbudować dla niego zupełnie nowy projekt i po prostym ustawieniu: "Status bar is initially hidden = YES
" i " View controller-based status bar appearance = NO
", jak stwierdziło wielu innych, działał poprawnie (tzn. bez paska stanu).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-14 11:36:31
Możesz sprawdzić ten kod , pod UIViewController+ODStatusBar
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-26 10:24:38
Dla Swift 2.0+ IOS 9
override func prefersStatusBarHidden() -> Bool {
return true
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-08 09:19:58
Aby ukryć pasek stanu dla określonego kontrolera viewController
- (BOOL)prefersStatusBarHidden {
return YES;
}
Do Ustawienia paska stanu ukrytego dla aplikacji:
-
Ustaw
View controller-based status bar appearance
naNO
w .plist i w zestawieapplication: didFinishLaunchingWithOptions:
:[application setStatusBarHidden:YES];
Uwaga: setStatusBarHidden: deprecated
Lub
-
W Ustawieniach projektu - > zakładka Ogólne - > informacje o wdrożeniu
Zaznacz
Hide Status bar
pole.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-21 11:49:09
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
application.statusBarHidden = YES;
return YES;
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-07 15:37:36
Nie jestem pewien, dlaczego "nie możesz zalogować się na forach programistów Apple", ale (bez naruszania NDA) możesz również ukryć swój pasek stanu za pomocą Xcode. To Ogólne ustawienie celu aplikacji.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-05 13:45:24