当前位置: 首页 > 知识库问答 >
问题:

preferredStatusBarStyle变量在iOS12中不工作?

丌官运珧
2023-03-14

添加

application.statusBarStyle = .lightContent

到我的AppDelegate的didFinishLaunchingWithOptions方法或添加

override var preferredStatusBarStyle: UIStatusBarStyle {
    return UIStatusBarStyle.lightContent
}

到VC不再在iOS12/Xcode10上工作

有什么想法吗?

共有3个答案

东郭腾
2023-03-14

如果Matt的回答对你不起作用,在你展示你的viewController之前试着添加这行代码。

viewController=modalPresentationCapturesStatusBarAppearance=true

我遇到了一个错误,将modalPresentationStyle设置为overFullScreen并不能将状态栏控制权赋予显示的视图控制器或导航控制器。

尹乐邦
2023-03-14

如果为每个视图控制器选择相同的状态栏颜色:

<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>

广告这到您的nfo.plist和设置状态栏颜色从项目-

另一方面,在您的例子中,有一个嵌入在视图控制器中的导航控制器。因此,您需要为每个页面设置不同的状态栏颜色。

<key>UIViewControllerBasedStatusBarAppearance</key>
<true/>

将此广告添加到您的信息中。普利斯特。然后,为NavigationController创建一个自定义类。之后,您可以实现以下方法:

class LightContentNavigationController: UINavigationController {

    override var preferredStatusBarStyle: UIStatusBarStyle {
        return .lightContent
    }
}

就这样!请告诉我这是否有用!

慕皓君
2023-03-14

这与iOS 12无关。你只是把规则搞错了。

在导航控制器的情况下,状态栏的颜色不是由视图控制器的preferredStatusBarStyle决定的。

令人惊讶的是,它是由导航栏的barStyle决定的。要获得轻量级状态栏文本,请说(在视图控制器中):

self.navigationController?.navigationBar.barStyle = .black

很难相信,但这是真的。几年前,我直接从苹果公司得到了这个信息。

也可以在情节提要中执行此设置。

实例导航栏的栏样式是。默认值

导航栏的栏样式是. Black

iOS13的注意事项只要您不使用大标题或UIBar外观,这在13iOS仍然有效。但是基本上你应该停止这样做,让状态栏颜色根据用户选择的浅色或深色模式自动显示。

 类似资料:
  • 在我用Xcode 5为iOS 7构建的iPhone应用程序中,我在,在我的中,我有以下代码: 但是状态栏在黑色背景的映衬下还是黑色的。 我知道可以通过在,但我实际上需要在运行时根据对其进行修改。

  • 我的java bin文件夹包含java.exe @大卫华莱士 Microsoft Windows[版本6.3.9600](c)2013 Microsoft Corporation。保留所有权利。 C:\用户\Andy\AppData\漫游\Microsoft\Windows\开始菜单\Programs\Startup>

  • 正如Socket.IO 1.0中向特定ID发送消息中所给出的,可以通过使用 在我的Node.js应用程序中,我尝试做同样的事情。基本上,当用户提交另一个socket.id时,Node.js后端将把给定的数据发送给该特定的套接字ID。虽然前端将请求正确地提交给后端,但当我试图将数据发送到id时,它不会通过。代码中“断开”的部分如下所示: 当只使用io.emit而不是io.to(id).emit激发事

  • 我是使用会话变量的新手,尽管我在网上搜索了解会话变量,但我一直在苦苦挣扎。 所以基本上我有一个页面(search.php)。我加载一个基于搜索表单的动态数据表。加载表后,我通过AJAX执行以下操作: 正如您在Success和单击table row记录时所看到的,我的想法是通过AJAX发布一个变量以供以后使用。并将用户重定向到update.php页面。 然后,我希望使用发布的AJAX变量在sessi

  • 我使用Larapex图表为我的laravel项目,但我不能使图表渲染时使用一个变量,包含我的值从数据库检索。 上述变量检索以下值: 然后我试着把它放在图表里 但不幸的是,图表没有显示这些值。 有人能帮我吗? 最好的问候。

  • 问题内容: 我有几个字段,每个字段都是这样的: 通过使用带有计数器的循环,我希望能够说出fieldx。其中x是该循环中计数器的值。这意味着如果我的数组中有6个条目,则将为fields1-field6提供值。 是否可以使用fieldx? 问题答案: 您可以使用反射来完成此操作,但是通常最好在数组中声明字段。代替: 你可以这样做: 然后,您可以遍历数组来设置值: