SwiftWidgets

类似 Flutter 的 SwiftUI 小部件

SwiftUI

SwiftWidgets 是一个易于使用的 Swift 包,为 SwiftUI 提供各种类似 Flutter 的小部件,以简化编码

支持的视图

视图 描述
图标 一个图形图标视图,使用 systemName 和 SF Symbols 绘制
卡片 一个具有轻微圆角和阴影效果的矩形形状
文本卡片 卡片内的自定义文本
图像卡片 卡片内的图像,底部带有文本
图像轮播 可滚动的海报视图

示例

视图 图像
图标
卡片
文本卡片
图像卡片
图像轮播

示例代码

卡片

 Card(child: AnyView(Text("Hello World").foregroundColor(.white).padding(20)),
     borderRadius: 10,
     backgroundColor: Color.red,
     shadowColor: Color.red.opacity(0.5),
     shadowRadius: 5,offsetY: 10)

图标

VStack{
   Icon(SFIcons.applelogo,
        size: 25,
        color: Color.red,
        semanticLabel: "Apple Logo")
   Icon(SFIcons.airplane,
        size: 35,
        color: Color.green)
   Icon(SFIcons.carFill,
        size: 45,
        color: Color.blue)
}

文本卡片

TextCard(title: Text("Welcome to Widgets")
           .foregroundColor(.white),
    description: Text("Widgets are super fun")
           .foregroundColor(Color.white.opacity(0.5)),
    borderRadius: 10,
    backgroundColor: Color.red,
    shadowColor: Color.red.opacity(0.5),
    shadowRadius: 5,offsetY: 10
)

图像卡片

ImageCard(
    title: Text("Taylor Swift")
        .foregroundColor(.white),
    description: Text("Singer, Songwriter")
        .foregroundColor(.white),
    imageURL: "https://pbs.twimg.com/media/EygPE2jW8AMtsex.jpg",
    backgroundColor: Color.gray.opacity(0.6),
    shadowColor: Color.yellow.opacity(0.5),
    offsetX: 5.0
)
.frame(height: 400)

图像轮播

ImageCarousel(images: CarouselModel.example, width: 130){ image in
  AnyView(Text(image.name)) // destination view
}

安装

仅通过 Swift Package Manager,通过 Xcode 或直接安装

包依赖
.package(name: "SwiftWidgets",
         url: "https://github.com/omeasraf/SwiftWidgets.git",
         from: "1.0.0")
Install using Xcode
- Open "Xcode"
- Click on "File"
- Click on "Swift Packages"
- Click on "Add Package Dependency"
- Paste this url "https://github.com/omeasraf/SwiftWidgets"
- Follow the onscreen prompts
导入
import SwiftWidgets

贡献

欢迎:提交 issue / @omeasraf

许可证

根据 MIT 许可证分发。