d6aeede2bc
从桌面工程复制而来,作为本仓库的 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。
55 lines
2.1 KiB
Swift
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)
|
|
)
|
|
}
|
|
|
|
}
|