MAXWELL L U X 使得应用开发更快(并与魔法!)创建自定义 UI 设计系统,随时可用于 SwiftUI——即使你不是设计专家!
⚠️ 要在 Swift 5.x 中使用。请确保您使用的是 >= 5.1.0 ⚠️
内容
要求
- iOS 13.1+ / Mac OS X 10.15+
- Xcode 11.3+
- Swift 5.1+
通讯
- 如果您 需要帮助,请使用 Discord。(标记 'lux')
- 如果您想 提问一般性问题,请使用 Stack Overflow。
- 如果您 发现了一个 bug,请提交 issue。
- 如果您 有功能请求,请提交 issue。
- 如果您 想要贡献,请提交 pull request。
安装
SPM
Swift Package Manager 是用于 Cocoa 项目的依赖项管理器。
您可以通过将此仓库的 URL 导入 Xcode 来安装 Lux。
https://github.com/maxwelldesign/lux
CocoaPods
注意:CocoaPods 和 Xcode-Canvas 之间有一些已知问题。尽可能选择 SPM 安装选项。CocoaPods 项目中作为 SPM 包实验性导入 LUX 已成功。
CocoaPods 是用于 Cocoa 项目的依赖项管理器。您可以使用以下命令安装它
$ gem install cocoapods
要求 CocoaPods 1.1.0+ 来构建 Lux 1.0.0+。
要使用 CocoaPods 将 Lux 集成到您的 Xcode 项目中,请在您的 Podfile
中指定它
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
use_frameworks!
target '<Your Target Name>' do
pod 'Lux', '~> 1.0.0'
end
然后,运行以下命令
$ pod install
使用方法
快速入门
import SwiftUI
import Lux
struct ContentView: View {
var body: some View{
Column{
Row{
Text("Hello World")
.lux
.trait(.title)
.style(.paragraph)
.view
}
}
.lux
.style(.panel)
.feature(.padding, .shadow,)
.card
.view
}
}
规范
安装 Maxwell App 以创建 LUX 规范。从 MAXWELL DESIGN 网站提供 iOS 和 macOS 版本
来自 Maxwell 应用
- 在主界面选择 LUX 标签
- 点击一个查看以进入编辑器
- 点击纸飞机图标
- 在动作表的下端找到“选项”
- 点击选项按钮
- 选择“初始化配置”
注意:如果您在模拟器中,请使用菜单中的“获取粘贴板”将数据传输到 macOS。
准备就绪后,打开 Xcode 并在附加视图之前粘贴配置代码,理想情况下在 Scene Delegate 中,即
func initializeLook(){
do{
try Look.set(data64:" SOME DATA")
}catch{
print("error")
}
}
Stream
您可以从 MAXWELL 应用实时调整任何 LUX 驱动的应用程序。
将其添加到您的启动代码中
func tuneLux(){
Look.tunning()
}
然后,要动态更新任何视图,只需简单添加此全局查看状态的 Observable 定义
struct ContentView: View {
@ObservedObject var state = Look.state
...
注意:您可以选择任何名称。
Playground
您可以在 playground 中尝试 Lux。
注意
要尝试 playground 中的 Lux,请打开
Lux.xcworkspace
并先在模拟器上构建 Lux.framework
资源
学习
安装 Maxwell 应用并购买其完整源代码的研究许可证。一些有趣的功能
- 所有屏幕均基于 LUX DSL 构建
- Firebase 集成
- iOS + macCatalyst
- 使用 Apple ID 登录
- 推送通知
- 本地存储
- 实时数据库
- 远程配置
- 应用内购买
- 网页浏览器
- 高级 Combine + SwiftUI
- 更多!
整个 Maxwell 应用基于 Combine + SwiftUI 上的(风味)MVVC 模式。不要错过查看第一个基于 SwiftUI 时代的应用程序之一的绝佳机会!
致谢
-
Mark Maxwell (@eonfluxor)
-
Roots Rroy
-
Van Jhazz
-
Cosmos
-
Adrian Juarez
-
Humanized Robot
许可
LUX 以 GNU GPL 许可发布。详细信息请参阅 LICENSE。
请联系 [email protected]
了解灵活的许可方案和其他查询。