如何在 Swift 中显示文档目录中的贴纸
How can I show Stickers from Document directory in Swift
DispatchQueue.main.async
{
var x : Int = 0
for item in self.arrGifs
{
let gif : GIF = item as! GIF
let gifName = URL(string: gif.gifImage)?.lastPathComponent
// let ur
let pathUrl = URL.urlInDocumentsDirectory(with: "\(gifName!)").path
print("image path is =====>", pathUrl)
//RawImages.xcassets
// if let url = Bundle.main.url(forResource:"3", withExtension: "gif")
// {
print("url is ------>>>> ",url)
do
{
let sticker = try
// MSSticker(contentsOfFileURL: url,localizedDescription: "")
MSSticker(contentsOfFileURL: URL(string:pathUrl)!,localizedDescription: "")
self.arrSticker.append(sticker)
}
catch
{
print(error.localizedDescription)
}
// }
}
self.createStickerBrowser()
}
对于上面的“MSSticker(contentsOfFileURL: url,localizedDescription: “”)”,我可以获得保存在 Bundle 中的贴纸。但是如果我给出文档目录的路径,则不会显示任何标签。
我正在从 api 下载图像,保存在我的 sqlite(图像名称)和文档目录中的图像,以便用户可以离线查看。我找不到解决办法。需要帮助哪里出了问题以及如何正确处理。
谢谢。
file:///private/var/containers/Bundle/Application/F8FF754B-F012-4B75-AA2E-9FA71846E6AB/Migos%20Lingo.app/PlugIns/MigosLingo.appex/3.gif === this from Bundle and I can view as Sticker
/var/mobile/Containers/Data/PluginKitPlugin/DE11FB0E-89F9-4A65-917E-B4FEB8CA5470/Documents/111111-1508763742.gif ===> Document directry and I cannot view as Stickers
你能试试这个吗
let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
在此之后制作 url 因为 MSSticker 使用 url 创建贴纸 path.Don 不要忘记将您的图像名称附加到文档路径。获取图像路径后,只需执行此操作。
let pathurl = URL(fileURLWithPath: imagePath!)
现在您可以创建贴纸了。
MSSticker(contentsOfFileURL: pathurl, localizedDescription: "hello world")
DispatchQueue.main.async
{
var x : Int = 0
for item in self.arrGifs
{
let gif : GIF = item as! GIF
let gifName = URL(string: gif.gifImage)?.lastPathComponent
// let ur
let pathUrl = URL.urlInDocumentsDirectory(with: "\(gifName!)").path
print("image path is =====>", pathUrl)
//RawImages.xcassets
// if let url = Bundle.main.url(forResource:"3", withExtension: "gif")
// {
print("url is ------>>>> ",url)
do
{
let sticker = try
// MSSticker(contentsOfFileURL: url,localizedDescription: "")
MSSticker(contentsOfFileURL: URL(string:pathUrl)!,localizedDescription: "")
self.arrSticker.append(sticker)
}
catch
{
print(error.localizedDescription)
}
// }
}
self.createStickerBrowser()
}
对于上面的“MSSticker(contentsOfFileURL: url,localizedDescription: “”)”,我可以获得保存在 Bundle 中的贴纸。但是如果我给出文档目录的路径,则不会显示任何标签。 我正在从 api 下载图像,保存在我的 sqlite(图像名称)和文档目录中的图像,以便用户可以离线查看。我找不到解决办法。需要帮助哪里出了问题以及如何正确处理。 谢谢。
file:///private/var/containers/Bundle/Application/F8FF754B-F012-4B75-AA2E-9FA71846E6AB/Migos%20Lingo.app/PlugIns/MigosLingo.appex/3.gif === this from Bundle and I can view as Sticker
/var/mobile/Containers/Data/PluginKitPlugin/DE11FB0E-89F9-4A65-917E-B4FEB8CA5470/Documents/111111-1508763742.gif ===> Document directry and I cannot view as Stickers
你能试试这个吗
let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
在此之后制作 url 因为 MSSticker 使用 url 创建贴纸 path.Don 不要忘记将您的图像名称附加到文档路径。获取图像路径后,只需执行此操作。
let pathurl = URL(fileURLWithPath: imagePath!)
现在您可以创建贴纸了。
MSSticker(contentsOfFileURL: pathurl, localizedDescription: "hello world")