主页
Liu's Den
Cancel

SwiftUI 3.0 为我们带来了一种新的声明式方法来处理提交的值。文本字段、表单、搜索栏允许用户提交我们可以使用的值并使用新的 onSubmit视图修饰符对它们做出反应。本周我们将学习如何使用onSubmit视图修饰符以及它为我们带来的好处。 基本 让我们构建一个允许我们使用searchable可搜索视图修饰符 搜索消息的视图。 struct SearchView: View { ...

我们的许多应用程序在网络或数据处理等后台线程上做了大量工作。我们通常希望显示正在进行的工作的进度或活动指示器。本周我们将学习如何使用ProgressView在 SwiftUI 中呈现不确定和确定的进度。 不确定的进展 显示不确定进度所需要做的就是将ProgressView放置在布局中的任何位置。让我们尝试在一个简单的例子中做到这一点。 struct ContentView: View {...

在这篇文章中,我们将讨论 @StateObject、@EnvironmentObject 和 @ObservedObject 属性包装器之间的区别。我知道这是 SwiftUI 中对于新手来说最令人困惑的话题。 为什么 SwiftUI 确实需要属性包装器? SwiftUI 使用不可变的结构类型来描述视图层次结构。SwiftUI 提供的所有视图都是不可变的。这就是为什么 SwiftUI 为我...

SwiftUI 为我们提供了 ` @State、@Binding、@ObservedObject、@EnvironmentObject和@Environment` 属性包装器。因此,让我们尝试了解它们之间的区别以及我们必须使用哪个以及何时以及为什么。 属性包装器 SE-0258提案中描述的属性包装器功能。这里的主要目标是用逻辑包装属性,这些逻辑可以提取到分离的结构中,以便在代码库中重用它。...

如果您使用文本和背景的默认颜色,iOS/macOS 会自行处理深色模式文学。但有时,您希望与自己的风格保持一致,以使品牌更具吸引力或在竞争中脱颖而出。调整到暗模式需要更多的工作,但该框架仍然为您提供了许多不同的选项,让您的生活更轻松。 本文将解释如何使用ColorScheme环境变量来区分明暗模式,并在图像在暗模式下可见时显示覆盖。 假设您正在处理应用程序的登录屏幕。您决定使用图像作为背...

在iOS 14中,SwiftUI提供了一种使用新 toolbar 修饰符来自定义导航栏标题视图的方法。这与navigationItem.titleView UIKit中的设置相同。 一、导航栏标题视图 要在SwiftUI中自定义导航栏标题视图,我们只需将ToolbarItem展示位置类型设置为.principal新的toolbar修饰符即可。 NavigationView...

本篇文章主要讲解LinearGradient,RadialGradient,RoundedRectangle这3种渐变效果,我会重点讲一下LinearGradient,包括线性渐变的原理。 LinearGradient LinearGradient称为线性渐变,在SwiftUI中,使用LinearGradient非常简单: VStack { RoundedRectan...

在本教程中,我们将讨论在您的SwiftUI应用程序中实现Neumorphism接口设计。您将了解2020年用户界面设计的最大趋势以及如何将其用于SwiftUI应用程序。 Neumorphic Design是Skeomorphic设计的一种新形式,最初在iPhone推出时就使用过。 在本教程的最后,您将能够在SwiftUI应用中创建如下的Neumorp...

我们预览下今天要实现的 3D scroll 效果。学完本教程后,你就可以在你的 App 中把这种 3D 效果加入任何自定义的 SwiftUI 视图。下面我们来开始本教程的学习。 入门 首先,创建一个新的 SwiftUI 视图。为了举例说明,在这个新视图中,我会展示一个有各种颜色的矩形列表,并把新视图命名为 ColorList。 import SwiftUI struct Colo...

本文中我们将学习如何使用 SwiftUI 中的 Paths 和 AnimatableData 来制作颜色切换动画。 这些快速切换的动画是怎么实现的呢?让我们来看下文吧! 基础 要实现动画的关键是在 SwiftUI 中创建一个实现 Shape 协议的结构体。我们把它命名为 SplashShape。在 Shape 协议中,有一个方法叫做 path(in rect: CGRect) ...