皆さん、コードでステータスバーを非表示にします。ビューをロードすると、ステータスバーが表示され、しばらくすると自動的に非表示になります。どうやってするか?
4 に答える
3
あなたがしたいUIApplication
のsetStatusBarHidden:withAnimation:
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
ドキュメントを参照してください。
于 2012-07-07T05:25:57.150 に答える
0
プロジェクトを選択Hide during application launch
し、ヘッダーの一般セクション内で次のDeployment Info
ように選択する必要があります。
そして、info.plist 内でView controller-based status bar
NO に設定します。
于 2014-02-03T23:31:46.647 に答える
0
applicationDidBecommeActive (「ロードされたビューの後」) のときに、AppDelegate で簡単に実行できます。UIViewアニメーションブロックを使用して400ms後に非表示ステータスを設定し、ルートView Controllerのナビゲーションバーを計算します
// AppDelegate.m
#import "AppDelegate.h"
#import "SomeViewController.h"
@interface AppDelegate ()
@property (nonatomic, strong) SomeViewController *someViewController;
@end
@implementation AppDelegate
- (void)applicationDidBecomeActive:(UIApplication *)application
{
UINavigationBar *navBar = self.someViewController.navigationController.navigationBar;
if (![[UIApplication sharedApplication] isStatusBarHidden]) {
[[UIApplication sharedApplication] setStatusBarHidden:YES
withAnimation:UIStatusBarAnimationSlide];
[UIView animateWithDuration:0.4
animations:^{
navBar.frame = CGRectMake(navBar.frame.origin.x, 0, navBar.frame.size.width, navBar.frame.size.height);
} completion:nil];
}
}
@end
それだけです。
于 2013-05-03T18:51:21.277 に答える
0
それをテストしていないので、もっと良い方法があるかもしれませんが、ロードビュー関数に次を入れると:
[self performSelector:@selector(hideNavBar) withObject:nil afterDelay:0.0];
そして、この機能を持っています
-(void) hideNavBar {
if (self.navigationController.navigationBar.hidden == NO)
{
[self.navigationController setNavigationBarHidden:YES animated:YES];
}
}
ビュー アニメーション ブロックでナビゲーション バーを非表示にする必要がある場合があります。しかし、いくつかの組み合わせが機能するはずです
リンクをチェックアウト
于 2012-07-07T05:19:29.230 に答える