导入 XuXuCheck 工程(iOS 干化学尿液试纸分析 App)
从桌面工程复制而来,作为本仓库的 Xuxucheck/ 子目录。 为控制仓库体积做了两处删减: - 移除 Frameworks/opencv2.xcframework 下的两个 visionOS 切片 (xros-arm64、xros-arm64-simulator,合计约 106 MB),并同步删掉该 xcframework 内 Info.plist 里对应的两条 AvailableLibraries 记录, 只保留 ios-arm64 与 ios-arm64_x86_64-simulator。 - 移除全部 .DS_Store 与 xcuserdata/。 已用 xcodebuild 从本目录完整编译验证:BUILD SUCCEEDED, ProcessXCFramework 以 --platform ios 成功选中框架,产物含 3699 个 cv:: 符号 (OpenCV 确实链入),嵌入 framework 3 个,与移除无用 pod 之后的状态一致。 仓库约 206 MB,其中 OpenCV 203 MB、其余源码与依赖约 3 MB。
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
//
|
||||
// AnimatableText.swift
|
||||
// qlick
|
||||
//
|
||||
// Created by Brian Mwangi on 08/07/2022.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct AnimatableFontModifier: AnimatableModifier {
|
||||
var size: Double
|
||||
var weight: Font.Weight = .regular
|
||||
var design: Font.Design = .default
|
||||
|
||||
var animatableData: Double {
|
||||
get { size }
|
||||
set { size = newValue }
|
||||
}
|
||||
|
||||
func body(content: Content) -> some View {
|
||||
content
|
||||
.font(.system(size: size, weight: weight, design: design))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extension View {
|
||||
func animatableFont(size: Double, weight: Font.Weight = .regular, design: Font.Design = .default) -> some View {
|
||||
self.modifier(AnimatableFontModifier(size: size, weight: weight, design: design))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
//
|
||||
// Animations.swift
|
||||
// qlick
|
||||
//
|
||||
// Created by Brian Mwangi on 08/07/2022.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
extension Animation {
|
||||
static let openCard = Animation.spring(response: 0.5, dampingFraction: 0.7)
|
||||
static let closeCard = Animation.spring(response: 0.6, dampingFraction: 0.9)
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
//
|
||||
// Styles.swift
|
||||
// XuXuCheck
|
||||
//
|
||||
// Created by henseycai on 2025/6/11.
|
||||
//
|
||||
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct MyStrokeStyle: ViewModifier {
|
||||
var cornerRadius: CGFloat
|
||||
@Environment(\.colorScheme) var colorScheme
|
||||
|
||||
func body(content: Content) -> some View {
|
||||
content
|
||||
.overlay(
|
||||
RoundedRectangle(
|
||||
cornerRadius: cornerRadius,
|
||||
style: .continuous
|
||||
)
|
||||
.stroke(
|
||||
.linearGradient(
|
||||
colors: [
|
||||
.white.opacity(colorScheme == .dark ? 0.3 : 0.3),
|
||||
.black.opacity(colorScheme == .dark ? 0.3 : 0.1)
|
||||
],
|
||||
startPoint: .top,
|
||||
endPoint: .bottom
|
||||
)
|
||||
)
|
||||
.blendMode(.overlay)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
extension View {
|
||||
func strokeStyle(cornerRadius: CGFloat = 30) -> some View {
|
||||
modifier(MyStrokeStyle(cornerRadius: cornerRadius))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user