https://github.com/huangrunhua/imagecard-file-generator
一个.imagecard扩展名文件(自定义的文件扩展名)生成软件。
https://github.com/huangrunhua/imagecard-file-generator
app ios macos swift swiftui
Last synced: 3 months ago
JSON representation
一个.imagecard扩展名文件(自定义的文件扩展名)生成软件。
- Host: GitHub
- URL: https://github.com/huangrunhua/imagecard-file-generator
- Owner: HuangRunHua
- Created: 2021-07-12T07:00:17.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2021-07-12T07:32:30.000Z (almost 4 years ago)
- Last Synced: 2025-01-04T18:41:58.750Z (4 months ago)
- Topics: app, ios, macos, swift, swiftui
- Language: Swift
- Homepage:
- Size: 8.25 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ImageCard-File-Generator

一个.imagecard扩展名文件生成软件。## .imagecard文件扩展名介绍
这是突发奇想的一个小项目,之所以将文件扩展名设置为.imagecard,是由于在思考扩展名的时候偶然翻开App Store看到了Today版块,觉得设计还不错就稍微借鉴了一下。软件在iPhone 12 Pro中运行结果如下

你会发现,实际上一个imagecard只包含四个部分:
- 背景图片(image)
- 内容标签(Tag)
- 标题(title)
- 副标题(subtitle)```swift
struct ImageCard: Codable {
var id = UUID()
let image: String
let tag: String
let title: String
let subtitle: String
}
```数据保存方面采用`PropertyListEncoder()`来编码一个ImageCard对象:
```swift
static func saveCard(_ imagecard: ImageCard) {
let propertyListEncoder = PropertyListEncoder()
let codedImageCard = try? propertyListEncoder.encode(imagecard)
print("archiveURL = \(archiveURL)")
try? codedImageCard?.write(to: archiveURL, options: .noFileProtection)
}
```
每当保存一个新的ImageCard对象时便调用此方法,即一个.imagecard文件所包含的内容为一个编码后的ImageCard对象。## 安装环境
- Xcode 12.4.1+
- iOS/iPadOS 14.0+
- macOS 11.0+> 关于Mac版的你可以在Release内找到并下载,iOS/iPadOS版的安装需要提前准备一台Mac并安装好Xcode,因为我并没有发布这款阅读器到App Store的想法(手动狗头)。
## 使用方法
软件内部设定了五个ImageCard对象,如下:
```swift
static var AllCards: [ImageCard] = [
ImageCard(image: "dog", tag: "Dog", title: "盛夏的果实", subtitle: "我终将青春还给了她"),
ImageCard(image: "spring", tag: "Spring", title: "斯人若彩虹", subtitle: "你说“呢”的时候,有春天的气息。"),
ImageCard(image: "autumn", tag: "Autumn", title: "秋日私语", subtitle: "我的宇宙为你私藏了无数的温柔"),
ImageCard(image: "winter", tag: "Winter", title: "Cold Winter", subtitle: "那些落在云彩里的爱心,每一个都是我对你没藏住的怦然心动。"),
ImageCard(image: "love", tag: "Love", title: "起风了", subtitle: "风带着我的秘密吹过一整片森林,于是每一棵树都知道,我喜欢你。")
]
```
点击新建卡片按钮后,随机从这五个卡片中选出一个卡片并展示选中的卡片。通过分享卡片按钮可将生成的.imagecard文件分享给其他人。## .imagecard文件阅读器
如果要预览生成的.imagecard文件,请访问[ImageCard File Viewer](https://github.com/HuangRunHua/ImageCardViewer)## 后记
如果不出意外的话,我将不会更新这个文档(手动狗头)因为好玩的东西太多了~