Files
admin d6aeede2bc 导入 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。
2026-09-23 14:17:31 +08:00

55 lines
2.1 KiB
Swift

//
// View+Extension.swift
// SSToastMessage
//
// Created by Ankit Panchal on 08/09/20.
// Copyright © 2020 Simform Solution Pvt. Ltd. All rights reserved.
//
import SwiftUI
extension View {
/// Add this modifier to the top most views in hierarchy.
/// Parameters:
/// - isPresented: binding to determine if the message view should be seen on-screen or hidden
/// - type: set type of view alert, toast and float.
/// - position: top or bottom (for default case it just determines animation direction).
/// - animation: custom animation for message view sliding onto screen.
/// - duration: time after which message view should disappear.
/// - closeOnTap: on message view tap it should disappear.
/// - onTap: on message view tap perform any action or navigation.
/// - onToastDismiss: on toast dismiss perform any action.
/// - closeOnTapOutside: on outside tap message view should disappear.
/// - view: view you want to display on your message view
/// - Returns: void
public func present<MessageContent: View>(
isPresented: Binding<Bool>,
type: MessageView<MessageContent>.MessageType = .alert,
position: MessageView<MessageContent>.Position = .bottom,
animation: Animation = Animation.easeOut(duration: 0.3),
horizontalPadding: CGFloat? = 0,
duration: Double? = 3.0,
closeOnTap: Bool = true,
closeOnTapOutside: Bool = false,
onTap: (() -> Void)? = nil,
onToastDismiss: (() -> Void)? = nil,
view: @escaping () -> MessageContent) -> some View {
self.modifier(
MessageView(
isPresented: isPresented,
type: type,
position: position,
animation: animation,
duration: duration,
horizontalPadding: horizontalPadding,
closeOnTap: closeOnTap,
onTap: onTap ?? {},
onToastDismiss: onToastDismiss ?? {},
closeOnTapOutside: closeOnTapOutside,
view: view)
)
}
}