Mor*_*len 6 favicon objective-c ios swift
大多数网站的根目录中都有一个适用于 iOS 的图标,例如:
https://www.apple.com/apple-touch-icon.png
然而,有很多网站这不起作用。
我希望能够将一个大的网站图标(与 Apple 在将网站添加到主屏幕时下载的图标非常相似)下载到我的 iOS 应用程序中。我不想要最小的图标,我可以从以下网站做到这一点:
https://www.google.com/s2/favicons?domain=www.google.com
我的目的也不是使用开放图谱,因为这给了我错误的印象。例如,当我只想要报纸的徽标时,与文章相关的图像。
任何帮助将不胜感激!
这是它的 Swift 结构:
struct FavIcon {
enum Size: Int, CaseIterable { case s = 16, m = 32, l = 64, xl = 128, xxl = 256, xxxl = 512 }
private let domain: String
init(_ domain: String) { self.domain = domain }
subscript(_ size: Size) -> String {
"https://www.google.com/s2/favicons?sz=\(size.rawValue)&domain=\(domain)"
}
}
Run Code Online (Sandbox Code Playgroud)
那么你可以像这样使用它
FavIcon("apple.com")[.l]
Run Code Online (Sandbox Code Playgroud)
您可以使用此 SwiftUI 代码在预览中自行测试它们
struct TestFavIconView: View {
let domains = "apple.com,stackoverflow.com,github.com".components(separatedBy: ",")
var body: some View {
List {
ForEach(domains, id:\.self) { domain in
Section {
ForEach(FavIcon.Size.allCases, id:\.rawValue) { size in
HStack {
Text("\(size.rawValue)x\(size.rawValue)").font(.footnote)
Spacer()
AsyncImage(url: URL(string: FavIcon(domain)[size]))
}
}
} header: {
Text(domain)
}
}
}
}
}
struct TestFavIconView_Previews: PreviewProvider {
static var previews: some View {
TestFavIconView()
}
}
Run Code Online (Sandbox Code Playgroud)
小智 0
yourImageView.sd_setImage(with: URL(string: "https://www.google.com/s2/favicons?sz=64&domain=yourUrl"),
placeholderImage: nil)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2989 次 |
| 最近记录: |