• 作者:老汪软件技巧
  • 发表时间:2024-09-07 04:02
  • 浏览量:

前言

更新还在继续... 这是我继续参加 第四期创作者训练营 的文章,继续不断总结自己的学习经历。点击查看活动链接。

今日学习鸡汤: 其实没有努力会是白费的,因为至少你在这期间浪费了时间!

在本章中,我们主要掌握以下方面:

好的我们直接进入正题...

Color 的基本使用

我们进入点击Xcode顶部导航的 File > New > File from Template... 选择iOS类目 SwiftUI 模版创建新的SwiftUI文件。

快捷键 Command + N,我们新建文件名为 ColorBootcamp.swift。

在使用 Color()之前我们先再次使用上章节学到的形状,我们创建一个圆角的矩形,定义其宽度为300, 高度为200,圆角角度为25。

RoundedRectangle(cornerRadius: 25)
            .frame(width: 300, height: 200, alignment: .center)

我们现在完成了定义圆角矩形,开始给他填充颜色,需要使用到.fill方法,其次用到我们的颜色Color(),下面的代码我们给矩形填充了蓝色并且设置其不透明度为0.7。

RoundedRectangle(cornerRadius: 25)
            .fill(Color.blue.opacity(0.7))
            .frame(width: 300, height: 200, alignment: .center)

我们可以按住 command 点击Color可以看到其定义,我们知道他其实是个内置的结构,其遵循Hashable, CustomStringConvertible, Sendable这些协议,后续会跟大家介绍。

我们再次按住command 点击 blue , 我们可以看到其他定义颜色,这些都是SwiftUI 内置让我们进行使用的颜色。

其实目前如果不懂这个结构其实没什么问题,大致知道就行,只需要知道他是一个结构体,他定义了很多的颜色变量值,会使用就行

除了Color这个颜色结构体,直接调用静态颜色变量外呢,我们还可以使用其另外的一个初始化方法:

Color(uiColor: UIColor)

UIColor 是 UIKit 框架中的一个类,用于定义和管理颜色对象。它是 iOS 开发中处理颜色的核心工具之一,广泛用于设置视图、文本、背景、形状等元素的颜色。UIColor 提供了多种初始化方法和预定义颜色,允许开发者轻松管理和操作颜色

简单来说呢,他是之前开发iOS应用程序时候UIKit这个类的管理颜色的结构,只能在开发iOS时候进行使用,但是目前SwiftUI结合了很多UIKit的功能函数,所以在SwiftUI中也可以使用UIKit。

我们可以使用UIColor 获取当前系统设置的背景颜色等。

.fill(Color(uiColor: UIColor.secondarySystemBackground))

系统中定义的颜色都是在明暗模式下会有一定自适应。

_精通defi_精通官网

Color() 还有很多初始化的方法,还需要您继续探索,我们暂时先到这。

Color Lterals 颜色字面量

颜色字面量(Color Literal)是一种方便的方式,用于在代码中直接选择和使用颜色。它通过 Xcode 的界面提供图形化的颜色选择器,开发者可以在代码中直观地选定和调整颜色,而不需要通过代码手动输入颜色值。

我们可以直接在 Xcode 编辑器中输入

#colorLiteral(red: 0, green: 0.22, blue: 0.2, alpha: 1)

如果没有出现提示,我们也可以自己定义代码片段提示。

首先我们我们先打开代码片段库,在 Xcode 中,打开任意项目或文件。

右侧的工具栏中,点击代码片段库图标(小方块的图标)。如果工具栏未显示,可以按下快捷键 Shift + Command + L。

代码片段库会在右侧弹出,显示可用的系统自带代码片段。

我们创建代码片段可以在刚才我们的文件中选中某段代码 右键出现菜单,选择创建代码片段,我们就会弹出代码片段库,我们进行修改就可以创建我们的代码片段,这里我们想要创建快捷的颜色字面量的快捷提示。我们可以进行如下修改:

在上面的视频中我们定义字面量代码片段 **Completion**为 **color**, 所以当我们进行书写color字段时候会有提示,选择就可以快速应用我们刚才创建的代码片段。自定义颜色变量

在Swift开发过程中允许我们自定义颜色变量,也是为了更加方便我们后续颜色方案的调整。自定义颜色变量,我们需要在项目的Assets.xcassets文件中去进行添加设置。

基本创建颜色演示

好的,我们在演示中创建了自定义的颜色变量CustomColor,它支持明暗两种模式颜色,你也可以在右侧的配置面板去进行配置其他信息,比如支持的设备,支持的模式等。

创建完自定义的颜色,后面肯定就是如何去进行使用,我们回到我们这章节的文件中 ColorBootcamp.swift。当然我们可以直接使用Color(_ name: String)方法直接使用, name 为我们自定义变量的名称。

Color("CustomColor")

其实还有另一种就是解决大量自定义颜色时候的方法,我们使用扩展方法去统一把自定义颜色扩展到 Color结构下。

struct ColorBootcamp: View {
    var body: some View {
        RoundedRectangle(cornerRadius: 25)
            .fill(Color.theme.customColor)
            .frame(width: 300, height: 200, alignment: .center)
    }
}
extension Color {
    static let theme = ColorThemeSchema()
}
struct ColorThemeSchema {
    let customColor = Color("CustomColor")
}

这种方案的好处就是当我们有很多种颜色主题的时候,我们可以统一管理,统一进行切换。

好的!

本章关于Color的部分就大概是这些,希望对你有所帮助,不到位的地方欢迎评论区指出来,大家一起进步!很高兴在这里见到你,下章再见!