我正在尝试将图像保存到Swift 3中的照片库(我正在使用Xcode 8).
ViewController代码:
func shareImage(image: UIImage) {
let items = [image]
var activityVC: UIActivityViewController = UIActivityViewController(activityItems: items, applicationActivities: nil)
let excludeActivities: [UIActivityType] = [UIActivityType.airDrop,
UIActivityType.assignToContact,
UIActivityType.addToReadingList,
UIActivityType.copyToPasteboard]
activityVC.excludedActivityTypes = excludeActivities
self.present(activityVC, animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)
当我运行应用程序,然后单击按钮获取屏幕截图(将其转换为图像,......,这一切都完美无缺)时,应用程序要求访问照片库的权限,我点击"确定"按钮,然后应用程序崩溃.图像未保存在照片库中.
我从Xcode获得的唯一线索如下:
2016-09-28 11:24:27.216043 Ajax Kids[4143:1545362] [error] error: -addPersistentStoreWithType:SQLite configuration:(null) URL:file:///var/mobile/Media/PhotoData/Photos.sqlite?readonly_shm=1 options:{
NSPersistentStoreFileProtectionKey = NSFileProtectionCompleteUntilFirstUserAuthentication;
NSReadOnlyPersistentStoreOption = 1;
NSSQLitePersistWALOption = 1;
NSSQLitePragmasOption = {
"journal_mode" = WAL;
};
} ... returned error Error Domain=NSCocoaErrorDomain Code=256 "The file couldn’t be opened." UserInfo={reason=Failed to access …Run Code Online (Sandbox Code Playgroud) 我正在尝试在Assets.xcassets目录中本地化我的一些图像.有一个简单的方法吗?没有在我的ViewController中的代码中定义内容.只是通过故事板或其他东西来做这件事.
提前致谢!
我正在寻找一种从Swift的Firebase中检索(有时保存)数据的干净方法。令我烦恼的是,我所有的数据库调用都写在视图控制器代码的中间。因此,我正在寻找某种定制数据服务类。我发现本教程非常接近我想要的:http : //www.mobilecyberpunks.com/ ?p= 82。
他们答应了第二部分,但我找不到第二部分,所以我想这从来没有做过。在第二部分中,他们承诺将使用此自定义数据服务介绍如何检索和保存数据(这对我来说是最重要的部分)。
我正在考虑一个API类(如本教程中所述),当我检索数据并完成从firebase的检索时,我将其保存在此api类的数据集中。然后,我将在通知中心发布通知。但是我不确定这是最佳做法还是执行此操作的好方法。
有没有人知道如何执行此操作(完成我发现的本教程或以其他方式完成)?
提前致谢!
ios firebase swift firebase-authentication firebase-realtime-database
我正在尝试快速创建径向 CAGradientLayer。正常的 CAGradientLayers(默认类型axial)没有问题。它们在快照和模拟器的运行时渲染得很好。
当我拍摄我创建的 UIView 的快照(仅用于 CAGradientLayer)时,它显示了一个漂亮的径向 CAGradientLayer。然而,当我使用这个视图并在模拟器中运行时查看它时,它看起来很糟糕。我不知道我做错了什么。
这是 CAGradientLayer 的代码:
import Foundation
class ChannelGradientView: UIView {
// MARK: - Init
override init(frame: CGRect) {
super.init(frame: frame)
setup()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setup()
}
// MARK: - Setup
private func setup() {
backgroundColor = .clear
setupGradient()
}
private func setupGradient() {
let gradient = layer as? CAGradientLayer
gradient?.type = .radial
gradient?.colors = [
UIColor.black.withAlphaComponent(0.8),
UIColor.black.withAlphaComponent(0)
].map { $0.cgColor }
let blackPoint = CGPoint(x: 1, …Run Code Online (Sandbox Code Playgroud) ios ×3
swift ×3
assets ×1
firebase ×1
ios10 ×1
localization ×1
save-image ×1
storyboard ×1
xcode ×1
xcode8 ×1