除了浏览Photolibrary之外,我还启用了相机将照片添加到我的
@IBAction func startCameraButtonTapped(sender: AnyObject) {
let startCameraController = UIImagePickerController()
startCameraController.delegate = self
startCameraController.sourceType = UIImagePickerControllerSourceType.Camera
startCameraController.allowsEditing = true
self.presentViewController(startCameraController, animated: true, completion: nil)
//invoiceImageHolder.image!.scaleAndRotateImage2(280)
//self.invoiceImageHolder.transform = CGAffineTransformMakeRotation((180.0 * CGFloat(M_PI)) / 180.0)
}
每个用户输入都可以删除,但现在我想知道相应照片的位置。当我浏览照片库时,我无法看到使用我的应用拍摄的照片?那些照片存放在哪里?
[编辑] 这是我的saveImage进程
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
let selectedImage = info[UIImagePickerControllerOriginalImage] as! UIImage
saveImage(selectedImage, path: fileInDocumentsDirectory("\(uniqueImageName)"))
// set the unique image reference in textfield
// Set photoImageView to display the selected image
self.invoiceImageHolder.image = selectedImage
// Dismiss the picker
dismissViewControllerAnimated(true, completion: nil)
}
func saveImage(image: UIImage, path: String) -> Bool{
let pngImageData = UIImagePNGRepresentation(image)
// let jpgImageData = UIImageJPEGRepresentation(image, 1.0)
let result = pngImageData?.writeToFile(path, atomically: true)
//print("Save result \(result)")
return result!
}
编辑嗯,我想我看到了照片存储的位置,但现在我如何浏览它们进行删除?
我认为它在这里:
的/ var /移动/容器/数据/应用/ CBFE9E9D-A657-4011-8B9F-EF0C9BB2C603 /文档/
但是每次重新启动应用程序时,Application和/ Documents之间的部分都不同吗?
仍然不是一个有效的解决方案,但对于那些新手来说,这是一个有价值的读物:http://www.techotopia.com/index.php/Working_with_Directories_in_Swift_on_iOS_8
[编辑2] 使用此代码,我可以看到存储在我的应用程序中的所有内容。看到所有文件我有点意外
// Files stored in my app filemanager
let filemgr = NSFileManager.defaultManager()
do {
print("Start filemanager")
let filelist = try filemgr.contentsOfDirectoryAtPath(documentsDirectory())
for filename in filelist {
print(filename)
}
} catch {
print("No directory path \(error)")
}
// end filemanager
答案 0 :(得分:1)
UIImagePickerController()
不会自动将照片保存到库中。查看其UIImagePickerControllerDelegate
协议,您会看到它在制作照片后返回UIImage
的方法。然后你可以保存它:
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
if let image = info[UIImagePickerControllerOriginalImage] as? UIImage {
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)
}
}
答案 1 :(得分:0)
你保存它们 - 不是在照片库中 - 而是简单地'应用程序文档文件夹中的文件。那时没有用于删除的标准UI。
您需要编写自己的ViewController来显示&然后处理删除。