ios - 如果在应用程序委托(delegate)中设置,则从单个屏幕中删除状态栏颜色

标签 ios objective-c xcode uistatusbar

我在 appdelegate 类中设置状态栏颜色,如下所示。

- (void)transitionToViewController:(UIViewController *)viewController
                    withTransition:(UIViewAnimationOptions)transition
{
    self.window.rootViewController = viewController;

    //SET STATUS BAR COLOR
    if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0"))
    {
        UIView *view=[[UIView alloc] initWithFrame:CGRectMake(0, 0,[UIScreen mainScreen].bounds.size.width, 20)];
        view.backgroundColor= [UIColor colorWithRed:0.96 green:0.96 blue:0.96 alpha:1.0];
        [self.window.rootViewController.view addSubview:view];
    }
}

当我尝试从单个屏幕中删除它时,我失败了。它保留了我在 appdelegate 中设置的背景颜色,但删除了文本。我也想删除背景。

这里我如何尝试删除状态栏:
[[UIApplication sharedApplication] setStatusBarHidden:YES];

状态栏如下所示:

enter image description here

最佳答案

在 info.plist 添加这个 View controller-based status bar appearance set YES

View controller-based status bar appearance = YES

基于 View Controller 的隐藏集

在 View Controller 中添加方法。

objective-C
- (BOOL)prefersStatusBarHidden {
    return YES;
}

迅速
override func prefersStatusBarHidden() -> Bool {
    return true
}

关于ios - 如果在应用程序委托(delegate)中设置,则从单个屏幕中删除状态栏颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44045946/

相关文章:

ios - 使用泛型类型的 Swift 工厂

ios - 查找调度队列和 pthread 之间的关联

javascript - Twilio 测试电话号码无法使用

ios - 解析服务器 : Handling errors with code 209 "Session token is expired." for automatic (anonymous) users

ios - 如何使用 AFOAuth2Manager 获取 Twitter REST API 的应用程序凭据

ios - 使用 Xcode iOS 的 TableView 中的选择(或单选)列表?

Xcode 部署目标设置

iOS 应用相机访问被拒绝 iOS 9.1(黑屏)

ios - 为 iCloud 和 UILocalNotification 更新安排 iOS 后台任务

ios - Swift:同时平移和长按识别器