36

では、をプログラムで非表示にするにはどうすればよいですか? XCode 4.6.1( )を使用しており、これを XCode 自体に実装したいと考えています。

4

12 に答える 12

72

iOS7 では、viewController に実装する必要があります

- (BOOL)prefersStatusBarHidden {
    return YES;
}
于 2013-09-28T22:05:22.340 に答える
33

ステータスバーを非表示にして、キー値「コントローラーベースのステータスバーの外観を表示」NOをplistに設定できます。これが最も簡単な方法です。

または UIApplication クラスの statusBarHidden プロパティを使用して、コードで非表示にすることができます。

[[UIApplication sharedApplication] setStatusBarHidden:YES];

スイフト3.0

特定のView Controllerのステータスバーを隠す

override var prefersStatusBarHidden: Bool {
    get {
        return true
    }
}

アプリケーション全体でステータス ベースを非表示にする

UIApplication.shared.isStatusBarHidden = true

プロジェクトのinfo plistで、キー値「コントローラーベースのステータスバーの外観を表示」NOを設定します。

于 2013-09-28T15:14:51.887 に答える
18
- (void)viewDidLoad
{
    [super viewDidLoad];
    if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)])
    {
        [self prefersStatusBarHidden];
        [self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
    }
    else
    {
        // iOS 6
        [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
    }
}

// Add this method
- (BOOL)prefersStatusBarHidden {
    return YES;
}
于 2013-09-29T06:03:26.620 に答える
3

特定のView Controllerで動的に非表示/表示する必要がある場合は、次のようなことができます。

(ただし- (BOOL)prefersStatusBarHidden、変更する必要がない場合は、設定を返すために使用することをお勧めします。)

// view controller header 
@interface MyViewController : UIViewController  {
    BOOL shouldHideStatusBar;
}
@end


@implementation

- (BOOL)prefersStatusBarHidden {
    return shouldHideStatusBar; // backed by your instance variable
}

- (void)setPrefersStatusBarHidden:(BOOL)hidden {
    shouldHideStatusBar = hidden;

    // Don't call this on iOS 6 or it will crash since the 
    // `setNeedsStatusBarAppearanceUpdate` method doesn't exist
    [self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];

    // [self setNeedsStatusBarAppearanceUpdate]; // (if Xcode 5, use this)
}

@end
于 2014-01-02T20:15:08.363 に答える
0

私の経験では、iOS 9 / Xcode 7.3 の info.plist ファイルにはコードと値の両方が必要です。

これをviewDidLoadメソッドに追加します。

[[UIApplication sharedApplication] setStatusBarHidden:YES];

これをブール値として info.plist ファイルに追加し、NO に設定します。

View controller-based status bar appearance
于 2016-08-19T16:48:04.320 に答える
0

これを試して

[[UIApplication sharedApplication] setStatusBarHidden:YES];
于 2014-03-07T10:54:55.850 に答える