Gravatar 是一个 Swift 包,用于从 Gravatar.com 请求头像。
该包提供了一个 GravatarImage
SwiftUI 视图,使您能够轻松地在您的应用程序中显示用户的 Gravatar 头像。
使用 Swift Package Manager 将 Gravatar 包添加到您的 Xcode 项目
https://github.com/leomakkinje/Gravatar
Gravatar
包Gravatar
实例Gravatar
实例初始化一个 GravatarImage
视图此示例显示一个 80 像素的正方形头像,没有边框
import Gravatar
import SwiftUI
struct ContentView: View {
let gravatar = Gravatar("john.doe@example.com")
var body: some View {
GravatarImage(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.avatarURL
与 AsyncImage
结合使用。
您可以使用一个 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)
}
}
如果您需要比 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)
}
}
有关 Gravatar
和 GravatarImage
的详细文档可在 Xcode 的 Quick Help 侧边栏和 Developer Documentation 窗口中找到,也可在线访问 Swift Package Index。
此存储库是开源的,并根据 MIT 许可证提供。有关更多信息,请参阅 LICENSE 文件。
此存储库与 Gravatar.com 无关联,不受其赞助或认可。