Skip to content

Instantly share code, notes, and snippets.

View GepengCn's full-sized avatar

葛鹏 GepengCn

  • yonyou
  • beijing
View GitHub Profile
@GepengCn
GepengCn / 1.3 基础概念.md
Created April 6, 2024 05:12
1.3 基础概念.md

视图和修饰器

在SwiftUI中,你可以通过视图(Views)来构建 UI,然后通过修饰器(Modifiers)来改变这些视图。

image.png

容器

VStack

@GepengCn
GepengCn / 1.4 语法.md
Created April 6, 2024 05:13
1.4 语法.md

结构体

如果你之前有使用Swift的经验,那么你可能会发现SwiftUI的语法略有差异,乍一看,甚至可能会困惑于这些代码是如何成功编译的。本章节的目的是为了帮助你深入理解这些代码背后的工作原理。

上节讲解了SwiftUI的基础知识,接下来我们将探讨如何实际构建这些视图。以下内容将展示构建任何SwiftUI界面的起始步骤。

image.png

所有视图(views)都是结构体(Structs)吗?

@GepengCn
GepengCn / 2.4 颜色.md
Created April 6, 2024 05:14
2.4 颜色.md

Color

在 SwiftUI 中,它用于表示颜色,可以与各种视图组件中配合使用,从而定义文本、背景、边框等的颜色。Color 提供了一系列预定义的颜色,同时也支持自定义颜色的创建,包括透明度的调整。

它是一个**push-out**视图。

基本用法

Color 在 SwiftUI 中不仅是用来表示颜色的结构体,它本身也充当一个视图,因此能够占据屏幕空间,并接受各种修饰符进行视觉修改。这意味着你可以像使用其他视图元素一样,对 Color 应用修饰符来调整其外观,如设置尺寸、形状、边框等,使其成为布局和设计中的灵活组件。

import SwiftUI
let configuration = URLSessionConfiguration.default
configuration.timeoutIntervalForRequest = 30
configuration.allowsCellularAccess = false
configuration.httpAdditionalHeaders = ["Accept": "application/json"]
let session = URLSession(configuration: configuration)
let progressQueue = DispatchQueue(label: "com.alamofire.progressQueue", qos: .utility)
AF.download("https://httpbin.org/image/png")
.downloadProgress(queue: progressQueue) { progress in
print("Download Progress: \(progress.fractionCompleted)")
}
.responseData { response in
if let data = response.value {
let image = UIImage(data: data)
}
@GepengCn
GepengCn / OnAppear_Intro.swift
Last active April 18, 2024 11:38
出现时(On Appear)
import SwiftUI
struct OnAppear_Intro: View {
@State var username: String = ""
@State var password: String = ""
@State var loading: Bool = false
@GepengCn
GepengCn / DragGesture_Intro.swift
Created April 18, 2024 12:25
拖拽(DragGestures)
import SwiftUI
struct DragGesture_Intro: View {
@State var offset: CGFloat = 200
var body: some View {
VStack {
Spacer()
@GepengCn
GepengCn / Delay_Intro.swift
Created April 19, 2024 02:51
动画间隔(Animation Delay)
import SwiftUI
struct Delay_Intro: View {
@State var changed: Bool = false
var body: some View {
Button("开始") {
changed.toggle()
@GepengCn
GepengCn / AnimationOption_RepeatCount_Intro.swift
Created April 19, 2024 03:10
次数重复(Repeat Count)
import SwiftUI
struct AnimationOption_RepeatCount_Intro: View {
@State var changed: Bool = false
var body: some View {
Circle()
.fill(.green)
.frame(width: 100)
@GepengCn
GepengCn / demo.swift
Created January 7, 2025 09:00
Swift Code
func favorite(asset: PHAsset) {
PHPhotoLibrary.shared().performChanges({
let request = PHAssetChangeRequest(for: asset)
request.isFavorite = !asset.isFavorite
}) { success, error in
if success {
print("执行成功")
} else if let error = error {
print("执行失败: \(error)")
}