SComponents 0.0.1

SComponents 0.0.1

Szymon Lorenz 维护。



SComponents

Pod Version Carthage compatible SwiftPM compatible Mac Catalyst compatible

本地 SwiftUI 组件

🐥功能

  • [🐥[]> 弹出菜单
  • []> 提醒框
  • []> 模态框

💊如何使用

弹出菜单

Gif Example Example

您可以使用 SwiftUI 视图扩展方法来指定弹出菜单的内容。

import SComponents

Text("My App content")
    .popover(isShowing: .constant(true)) {
        Text("popover content")
    }

上面的例子展示了如何从 SwiftUI view 中呈现一个弹出菜单,该菜单作为弹出菜单的锚点矩形并浮在主窗口上方。弹出菜单使用该项的中心位置来确定放置位置和箭头的方向。使用弹出菜单显示用户完成时出现的应用内容,以及当用户完成时消失的内容。将通过在 isShowing 下的 SwiftUI flag 作为绑定来显示/隐藏弹出菜单。例如,您可以使用弹出菜单显示有关当前选中项的信息,显示工具和配置选项,或者从用户那里获取信息。

🔧安装

您有四种方式可以使用 SComponents 在项目中:

  • 使用 CocoaPods
  • 使用 Carthage
  • 使用 Swift Package Manager
  • 手动安装(构建框架或嵌入 Xcode 项目)

使用 CocoaPods 安装

CocoaPods 是用于 Objective-C 的依赖项管理器,它自动化并简化了在项目中使用第三方库的过程。有关详细信息,请参阅入门部分。

Podfile

platform :ios, '13.0'
pod 'SComponents'
Swift and static framework

Swift项目之前必须使用use_frameworks!将所有Pods转换为动态框架,以便CocoaPods工作。

然而,从CocoaPods 1.5.0+版本开始(与Xcode 9+一起发布),它支持将Objective-C和Swift代码构建为静态框架。您可以使用模块头,将SComponents作为静态框架使用,无需使用use_frameworks!

platform :ios, '13.0'
# Uncomment the next line when you want all Pods as static framework
# use_modular_headers!
pod 'SComponents', :modular_headers => true

更多详情请参阅CocoaPods 1.5.0 — Swift静态库

否则,您仍然需要添加use_frameworks!以将SComponents作为动态框架使用

platform :ios, '13.0'
use_frameworks!
pod 'SComponents'

使用Carthage安装

Carthage是一个轻量级的Swift和Objective-C依赖管理器。它利用CocoaTouch模块,比CocoaPods更不侵入。

要使用Carthage进行安装,请按照Carthage上的说明操作。

Carthage用户可以指向此仓库并使用生成的框架

在您的Cartfile中添加以下条目:github "SComponents/SComponents" 然后执行carthage update。如果您是第一次在该项目中使用Carthage,您需要按照Carthage中的说明进行一些额外的步骤。

使用Swift Package Manager安装

Swift Package Manager (SwiftPM)是一种工具,用于管理Swift代码的分发以及C家族依赖。

点击文件 -> Swift Packages -> 添加包依赖,输入SComponents仓库的URL。或者,您可以使用GitHub账号登录Xcode,然后直接输入SComponents进行搜索。

在选择了包之后,您可以选择依赖类型(标记版本、分支或提交)。然后,Xcode 将为您设置所有所需内容。

如果您是框架作者并使用 SComponents 作为依赖项,请更新您的 Package.swift 文件

let package = Package(
    dependencies: [
        .package(url: "https://github.com/shial4/SComponents.git", from: "0.0.1")
    ],
    //...
)

贡献

欢迎对这项工程做出贡献! :)

问题

只需在 GitHub 上创建一个问题。

📝许可协议

本项目发布遵循 MIT 许可协议。