首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS15 Xcode 13上的导航栏和选项卡栏变为黑色

在iOS 15和Xcode 13中,导航栏和选项卡栏变为黑色可能是由于系统默认的外观设置发生了变化。iOS 15引入了新的外观API,允许开发者更灵活地自定义UI元素的外观。以下是一些基础概念和相关解决方案:

基础概念

  1. 外观API:iOS 15引入了新的UIAppearance API,允许开发者通过UIAppearanceContainer协议自定义UI元素的外观。
  2. 系统默认外观:iOS 15默认启用了深色模式,这可能导致导航栏和选项卡栏变为黑色。

相关优势

  • 灵活性:开发者可以根据应用的需求自定义UI元素的外观。
  • 一致性:通过统一的外观设置,可以确保应用在不同设备和系统版本上保持一致的用户体验。

类型

  • 深色模式:iOS 15默认支持深色模式,用户可以在系统设置中选择深色或浅色模式。
  • 自定义外观:开发者可以通过代码自定义导航栏和选项卡栏的颜色。

应用场景

  • 适配不同主题:应用可以根据用户的系统设置自动切换深色或浅色模式。
  • 品牌一致性:通过自定义外观,可以使应用的UI元素与品牌形象保持一致。

解决方案

如果你希望将导航栏和选项卡栏恢复为默认的浅色外观,可以通过以下代码进行设置:

代码语言:txt
复制
import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        
        // 设置导航栏为浅色外观
        if #available(iOS 15.0, *) {
            let navigationBarAppearance = UINavigationBarAppearance()
            navigationBarAppearance.configureWithOpaqueBackground()
            navigationBarAppearance.backgroundColor = .white
            navigationBarAppearance.titleTextAttributes = [.foregroundColor: UIColor.black]
            UINavigationBar.appearance().standardAppearance = navigationBarAppearance
            UINavigationBar.appearance().scrollEdgeAppearance = navigationBarAppearance
        } else {
            // Fallback on earlier versions
            UINavigationBar.appearance().barTintColor = .white
            UINavigationBar.appearance().titleTextAttributes = [.foregroundColor: UIColor.black]
        }
        
        // 设置选项卡栏为浅色外观
        if #available(iOS 15.0, *) {
            let tabBarAppearance = UITabBarAppearance()
            tabBarAppearance.configureWithOpaqueBackground()
            tabBarAppearance.backgroundColor = .white
            UITabBar.appearance().standardAppearance = tabBarAppearance
            UITabBar.appearance().scrollEdgeAppearance = tabBarAppearance
        } else {
            // Fallback on earlier versions
            UITabBar.appearance().barTintColor = .white
        }
    }
}

解释

  • UINavigationBarAppearance:用于自定义导航栏的外观。
  • UITabBarAppearance:用于自定义选项卡栏的外观。
  • configureWithOpaqueBackground():设置背景为不透明。
  • backgroundColor:设置背景颜色。
  • titleTextAttributes:设置导航栏标题的文本属性。

通过上述代码,你可以确保在iOS 15和Xcode 13中,导航栏和选项卡栏保持浅色外观。如果你的应用需要支持深色模式,可以根据用户的系统设置动态调整这些外观设置。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS15适配

想必都看过WWDC2021的Session了,Session原版视频依然是最有效的get新特性的渠道,iOS15多的特性就不说了,我就整理了我在适配iOS15路上的一些更改和调整。...适配以iOS15 beta6和xcode13 beta5为环境基础 UINavigationBar 用新xcode13编译工程后,导航栏的问题比较明显,调试之后发现是UINavigationBar部分属性的设置在...iOS15上是无效的 旧代码 navigationBar.setBackgroundImage(UIColor.clear.image, for: .default) // 导航栏背景,主题色是绿色 navigationBar.barTintColor...,呈现是白色,字体颜色也没有生效,呈现黑色,查看导航栏特性API:UINavigationBarAppearance后发现,iOS15navigationBar的相关属性设置要通过实例UINavigationBarAppearance...来实现,UINavigationBarAppearance是iOS13更新的API,应该有人已经在用,我们的应用兼容iOS10以上,对于导航栏的设置还没有使用UINavigationBarAppearance

2.3K30
  • 最新iOS设计规范三|3大界面要素:栏(Bars)

    在iOS 13及更高版本中,默认情况下,大标题导航栏不包含背景材质或阴影。另外,随着页面滑动,大标题要转换为标准标题。 ? 隐藏大标题导航栏的边框。...在iOS 13及更高版本中,可以通过删除导航栏的阴影来隐藏导航栏的底部边框(当滑动内容区域时,边框会自动重新出现)。无边框样式在大标题导航栏中效果很好,因为它增强了标题和内容之间的联系感。...但是,无边框样式在标准标题导航栏中可能无法很好地起作用,因为该栏的标题和按钮可能难以区分。iPad上的拆分视图是一个例外,更多的是通过在这两种视图中使用无边框样式来保持主视图和辅助视图之间的一致性。...为了使您的界面具有可预测性,选择一个选项卡应始终影响直接连接到选项卡栏的视图,而不影响屏幕上其他位置的视图。例如,在拆分视图的左侧选择一个选项卡不应导致拆分视图的右侧突然改变。...在iOS 13及更高版本中,您可以使用SF符号来表示选项卡栏项目。在所有版本的iOS中,系统API提供了一系列预设图标。当然你也可以自定义图标。

    9.9K10

    iOS之深入解析Xcode 13正式版发布的40个新特性

    十二、Instruments Instruments 中的调用树视图和扩展详细信息视图现在用“[inlined]”标记指示内联函数; 通过详细视图导航栏更容易发现不同的视图。...; 现在可以使用键盘选择和导航大纲视图组,例如 Constraints; Interface Builder 有一个重新设计的画布底部栏,带有用于更改设备和布局的弹出窗口,以及用于更改设备外观和方向的开关...); Xcode 分发助手中的自动签名现在支持云签名; Xcode 13 支持在 Mac 上为 TestFlight 配置应用程序; 现在可以在命令行上使用 notarytool 与 Apple 公证服务进行交互...; 二十一、Source Control 现在,可以在登录 GitHub 或 Bitbucket Server 帐户后,使用 Xcode 的源代码控制功能创建、审查和合并拉取请求; 现在可以从文档选项卡栏中的任何编辑器...; 从 Swift 类、协议或方法声明跳转到定义还可以轻松导航到整个工作区中的所有子类、扩展和符合协议的类型; Xcode 13 包括重新设计的 Swift 代码完成功能,可最大限度地提高可靠性和性能,

    8.8K40

    前端|不用JS就能实现的选项卡

    1.选项卡介绍 在平时浏览网页时,大家经常会使用选项卡来切换页面,在设计网页的过程中,也常用选项卡来整合内容,美化页面效果。...简而言之,选项卡就是设置选项的模块,每个选项卡代表一个活动的区域,点击不同的区域,即可展示不同的内容。...2.思路 平常的选项卡制作时,总要引入JavaScript才能实现切换效果,本次选项卡的制作主要是通过CSS来实现的。 用div来页面布局,实现矩形效果,完成导航栏和选项卡页面效果。...用a标签来对选项卡的导航栏和内容界面进行设置。 使用:nth-child(n)和class方法来对页面进行切换。 3.过程 (1)首先创建一个div盒子模型,用作导航栏模块。...热点HOT 浏览记录 (2)用CSS对导航栏的宽高

    1.9K20

    Bootstrap实用功能总结

    .flex-bottom 导航栏一直在顶部 .bg-{primary | secondary | success | info | danger | warning | dark | light} 导航栏的背景颜色...:小屏幕上我们都会折叠导航栏,通过点击来显示导航选项: 1 2 和 .navbar-collapse 六、导航内加表单时,一定要把表单加上内联样式(.form-inline) 导航一般采用ul、li来定义,否则有些效果无法实现,比如动态选项卡效果....active 当前激活的导航链接 .disabled 禁用的导航链接 data-toggle = "{tab | pill }" 定义一个动态选项卡 或 动态胶囊选项卡 href = "#id" 动态导航时...,指明要显示的容器ID 动态选项卡容器样式 .tab-pane 动态选项卡容器类,必须要加 动态下拉选项卡示例: 1 2 定义动态下拉选项卡

    2.5K30

    iOS15 切换上架App图标的最新方案

    前言 Xcode13以及iOS15发布之前,Apple其实已经支持在应用内切换图标了,通过将不同的ICON图标打到包内,并手动配置,然后通过业务代码修改ICON。...因此在Xcode13之后,多ICON的设置方法由之前的手动配置,改成了更加方便的配置方式。 因为文章在iOS15之前就整理好了,新的方案出来后,肯定是新的方案的应用场景更广,也更方便开发者操作。...2.旧方案:手动通过添加Info.plist字段来配置 此方案为iOS15之前的旧方案,适用于“不需要通过App Store切换图标”的场景,Xcode13以下的版本可以这样使用。...新方案:在assets内新增图标项目 此方案适用于Xcode13及其后续版本,低于这个版本无法这样配置。 1....,所以不知道这个切换图标的功能,是不是只支持iOS15版本系统上的AppStore才能看到切换的效果。

    3K20

    iOS状态栏使用总结

    目录: 一、状态栏与导航栏 二、设置状态栏显隐与字体样式 三、设置状态栏背景色 四、启动页隐藏状态栏 五、状态栏、导航栏相关的常用宏定义 相关文章:iOS导航栏的使用总结 一、状态栏与导航栏 状态栏...((44) iPhoneX设备出现以后,状态栏的高度变为44,导航栏部分总高度(88) = 状态栏(44) + 导航栏内容高度(44) 二、设置状态栏显隐与字体样式 iOS状态栏可以设置显示和隐藏,也可以设置文字的颜色...这是因为导航控制器里的preferredStatusBarStyle才具有修改状态栏样式的能力,解决这个问题的方法有两种: 方法1:添加子类导航控制器 我们需要使用自定义的子类导航控制器,在其中添加如下的代码...//状态栏和导航栏背景色为白色,状态栏文字为黑色 self.navigationController.navigationBar.barStyle = UIBarStyleDefault; //状态栏和导航栏背景色为黑色...,状态栏文字为白色 self.navigationController.navigationBar.barStyle = UIBarStyleBlack; 三、设置状态栏背景色 iOS7之后的状态栏和导航栏融合在一块

    1.9K30

    IOS15 beta 8 开发者预览版更新【附升级通道】

    “相机app”删除了快门按钮(很微小,不说基本看不出来,但显然也没什么实质性作用); 支持“跨屏拖拽”,比如聊天界面中的消息,长按不松手,同时上滑导航条,选中要粘贴的位置即可直接粘贴(虽然不跨屏也能实现...); “照片app”上滑可以查看图片详情和具体位置,可以详细看到镜头信息; iOS 15 beta3更新 在iOS15第二个测试版基础上,最大的改进便是对Apple自家浏览器Safari进行了功能上的改进以及界面的设计...:在iOS 15 beta2中,Apple对Safari浏览器标签栏的位置进行改动,调整到屏幕下方,但存在输入内容时,标签栏又会回到屏幕上方,在beta3中实现了标签栏始终在在屏幕下方。...在iOS15中,Apple引入了”专注“模式,在beta3中”专注状态“以及”电话“的位置,被分配到了专注模块中去,更适合不同的场景使用。...AppStore中,第一次进入会对用户展示新版系统中的新增功能。 Apple Music音乐小组件可以跟随不同的音乐显示不同的背景颜色,和传统的固定颜色红色差异明显。

    1.1K10

    iOS开发UINavigation系列一——导航栏UINavigtionBar

    ,实际上,我们也可以在不使用导航控制器的前提下,单独使用导航栏,在UINavigationBar中,也有许多我们可以定制的属性,用起来十分方便。...} 默认的风格就是我们上面看到的白色的风格,黑色的风格效果瑞如下: ?...三、导航栏常用属性和方法         从上面我们可以看到,iOS6后导航栏默认都是半透明的,我们可以通过下面的bool值来设置这个属性,设置为NO,则导航栏不透明,默认为YES: @property...(null_resettable, nonatomic,strong) UIColor *tintColor; tintColor这个属性会影响到导航栏上左侧pop按钮的图案颜色和字体颜色,系统默认是如下颜色...//向栈中添加一个item,上一个item会被推向导航栏的左侧,变为pop按钮,会有一个动画效果 - (void)pushNavigationItem:(UINavigationItem *)item

    1.2K31

    React Native开发之react-navigation库详解

    DrawerNavigator:用于实现侧边栏抽屉页面的导航组件。 需要说明的是,由于react-navigation在3.x版本进行了较大的升级,所以在使用方式上与2.x版本会有很多的不同。...defaultNavigationOptions:用于配置导航栏的默认导航选项。 mode:定义渲染和页面跳转的样式,选项有card和modal,默认为card。...headerLeft:设置标题栏左侧展示的React组件。 headerStyle:设置导航条的样式,如背景色、宽高等。 headerTitleStyle:设置导航栏的文字样式。...headerBackTitleStyle:设置导航栏上【返回】文字的样式。 headerLeftContainerStyle:自定义导航栏左侧组件容器的样式,例如增加padding值。...除了可以实现路由管理和页面跳转操作外,还可以使用react-navigation实现顶部和底部的Tab切换,如图7-13所示。 ?

    5.8K10

    【Flutter】顶部导航栏实现 ( Scaffold | DefaultTabController | TabBar | Tab | TabBarView )

    = null), super(key: key); 二、实现顶部导航栏 ---- 实现顶部导航栏需要三个组件 : TabBar : 该组件就是导航栏组件 , 设置多个图标按钮 ; TabBarView...: 该组件是被导航的组件 , 设置多个布局结构 , 同时只能显示一个 ; DefaultTabController : 该组件用于关联控制 TabBar 和 TabBarView 组件 ; 界面组件中..., 每个 TabBar 组件需要设置若干个 Tab 组件 ( 至少一个 ) ; Tab 构造函数 : /// 创建一个材料设计风格的选项卡. /// /// 至少设置一个 text 文本和.../// 设置顶部导航栏的图标 tabs: datas.map((TabData data) { /// 导航栏的图标及文本..., http://flutter.axuer.com/docs/ Flutter 相关问题 : https://flutterchina.club/faq/ ( 入门阶段推荐看一遍 ) GitHub 上的

    2.9K40

    Excel 常用的九十九个技巧 Office 自学教程快速掌握办公技巧

    7、重复上一次输入在单元格中输入内容按回车键进入下一个单元格后,再按组合键【Ctrl+D】即可以快速的重复上一次输入的内容。...12、快速移动选取数据选取需要移动的数据区域,鼠标移动到区域边缘线,当鼠标箭头变为黑色实心状态时,按【shift】键并点击鼠标左键拖拽到正确位置即可。...13、快速定位边缘单元格选中数据区域任意一个单元格,鼠标移至单元格的下边框线上,当鼠标箭头变为实心状态时双击单元格下框线,即可快速跳转到该列数据最后一行。...38、快速隐藏表格内行/列需要隐藏表格内某行时可直接按组合键【Ctrl+9】39、多页内容打印到一页上依次点击菜单栏中的【文件】-【打印预览】-【页面设置】,选择【页面】选项卡,缩放调整选择【其他设置】...69、隐藏编辑栏、灰色表格线、列标和行号视图 - 显示 - 去掉各项的勾选。

    7.2K21

    Running Python in Xcode: Step by Step第1步:安装Python 3.5第2步:找到python3第3步:创建一个Xcode项目步骤4.创建Python文件步骤5.编

    4.png 导航到您喜欢的任何位置,然后单击“创建”。 步骤4.创建Python文件 选择File> New,选择macOS> Other> Empty。点击下一步。 ?...6.png 步骤5.编辑您的运行方案 Xcode默认应该选择Run方案: ? 7.png 单击并按住跳转栏中的Python目标。选择编辑方案... ?...8.png 将显示“运行”方案,并选中“信息”选项卡。 步骤6.选择可执行文件 我现在警告你,这一步将变得微妙,脆弱和愚蠢。...那是因为无论出于何种原因,Xcode 都不允许你使用 /usr/local/bin/python3 中的符号链接。我不知道为什么。 在“信息”选项卡中。从“可执行文件”弹出列表中选择“其他”。...在没有编译器监督的情况下使用这种宽松的打字也是有罪的。也就是说,我在Python中的第一次经历可以等待另一天和另一篇文章。

    3.2K20
    领券