Gravatar

Gravatar 是一个 Swift 包,用于从 Gravatar.com 请求头像。

该包提供了一个 GravatarImage SwiftUI 视图,使您能够轻松地在您的应用程序中显示用户的 Gravatar 头像。

安装

使用 Swift Package Manager 将 Gravatar 包添加到您的 Xcode 项目

  1. 在 Xcode 中打开您的项目
  2. 在 File 菜单中选择 Add Package Dependencies 选项
  3. 在搜索字段中输入包 URL https://github.com/leomakkinje/Gravatar
  4. 单击 Add Package 按钮
  5. 在 Add To Target 弹出菜单中选择您的项目
  6. 单击 Add Package 按钮

快速入门

  1. 在您的 Swift 文件中导入 Gravatar
  2. 使用电子邮件地址初始化一个 Gravatar 实例
  3. 使用一个 Gravatar 实例初始化一个 GravatarImage 视图

此示例显示一个 80 像素的正方形头像,没有边框

import Gravatar
import SwiftUI

struct ContentView: View {
    let gravatar = Gravatar("john.doe@example.com")

    var body: some View {
        GravatarImage(gravatar)
    }
}

用法

初始化一个 Gravatar 实例

您可以使用电子邮件地址初始化一个 Gravatar 实例,并且可以选择性地为头像的大小、评级和默认头像设置自定义值。

// With default values
let gravatar = Gravatar("john.doe@example.com")
// With custom values
let gravatar = Gravatar("john.doe@example.com", size: 80, rating: .g, defaultAvatar: .mp, forceDefaultAvatar: false)

初始化后,该实例提供一个 .avatarURL 属性,GravatarImage 视图使用该属性从 Gravatar.com 请求头像的 PNG 图像。或者,如果您想创建一个自定义图像视图,您可以将 gravatar.avatarURLAsyncImage 结合使用。

初始化一个 GravatarImage 视图

您可以使用一个 Gravatar 实例初始化一个 GravatarImage 视图,并且可以选择性地为头像的形状和边框设置自定义样式。该视图的 frame 将设置为 Gravatar 实例中指定的大小。

import Gravatar
import SwiftUI

struct ContentView: View {
    let gravatar = Gravatar("john.doe@example.com")

    var body: some View {
        GravatarImage(gravatar, style: .square)
    }
}

初始化一个 AsyncImage 视图

如果您需要比 GravatarImage 提供的更多视图自定义选项,您可以使用 gravatar.avatarURL 属性和其他视图修饰符初始化一个 AsyncImage 视图。gravatar.size 属性可用于设置视图的 frame 大小。

import Gravatar
import SwiftUI

struct ContentView: View {
    let gravatar = Gravatar("john.doe@example.com")

    var body: some View {
        AsyncImage(url: gravatar.avatarURL)
            .frame(width: Double(gravatar.size), height: Double(gravatar.size))
            // Add additional modifiers here
    }
}

示例

// Display the avatar in a 120-pixel circle with a border

import Gravatar
import SwiftUI

struct ContentView: View {
    let gravatar = Gravatar("john.doe@example.com", size: 120)

    var body: some View {
        GravatarImage(gravatar, style: .borderedCircle)
    }
}
// Display the avatar in an 80-pixel rounded square without a border, and display
// the robohash avatar when an avatar for the specified email address does not exist.

import Gravatar
import SwiftUI

struct ContentView: View {
    let gravatar = Gravatar("john.doe@example.com", defaultAvatar: .robohash)

    var body: some View {
        GravatarImage(gravatar, style: .roundedSquare)
    }
}
// Display the avatar in a 32-pixel square without a border, and always display
// the mystery person avatar, even when an avatar for the specified email address exists.

import Gravatar
import SwiftUI

struct ContentView: View {
    let gravatar = Gravatar("john.doe@example.com", size: 32, forceDefaultAvatar: true)

    var body: some View {
        GravatarImage(gravatar)
    }
}

文档

有关 GravatarGravatarImage 的详细文档可在 Xcode 的 Quick Help 侧边栏和 Developer Documentation 窗口中找到,也可在线访问 Swift Package Index

许可证

此存储库是开源的,并根据 MIT 许可证提供。有关更多信息,请参阅 LICENSE 文件。

免责声明

此存储库与 Gravatar.com 无关联,不受其赞助或认可。