我已经看过很多UIImage
用于输出图像的例子.我想将输出设置为a,UIWebView
因为我想在图像周围添加一些额外的HTML格式.
我想让照片库返回存储在iOS设备上的图像的相对路径,这样我就可以将它放在'img'HTML标签的'src'属性中.
这可能吗?
编辑1
我不得不修改我想要的代码,但这似乎不起作用.
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { //Get Image URL from Library NSURL *urlPath = [info valueForKey:UIImagePickerControllerReferenceURL]; NSString *urlString = [urlPath absoluteString]; NSLog(urlString); NSURL *root = [[NSBundle mainBundle] bundleURL]; NSString *html; html = @""]; [MemeCanvas loadHTMLString:html baseURL:root]; [picker dismissViewControllerAnimated:YES completion:^{}]; }
我能够记录资产库URL,但似乎没有显示图像UIWebView
.我不知道我需要将baseURL更改为.
任何帮助赞赏.
编辑2
我改变UIImagePickerControllerReferenceURL
了UIImagePickerControllerMediaURL
,现在它崩溃了,因为当我将它附加到字符串时它不喜欢它stringByAppendingString:urlString
它给了我错误:
因未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'*** - [__ NSCFConstantString stringByAppendingString:]:nil参数'
你知道这可能导致什么吗?
您可以使用UIImagePickerController委托来选择要编辑的图像(或URL).
你可以这样做:
let pickerController = UIImagePickerController() pickerController.sourceType = .photoLibrary pickerController.delegate = self self.navigationController?.present(pickerController, animated: true, completion: { })
在委托实现中,您可以使用图像的路径或图像本身:
// This method is called when an image has been chosen from the library or taken from the camera. func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { //You can retrieve the actual UIImage let image = info[UIImagePickerControllerOriginalImage] as? UIImage //Or you can get the image url from AssetsLibrary let path = info[UIImagePickerControllerReferenceURL] as? URL picker.dismiss(animated: true, completion: nil) }
斯威夫特4
class ViewController: UIViewController { var pickedImage:UIImage? @IBAction func ActionChooseImage(sender:UIButton){ let imagePickerController = UIImagePickerController() imagePickerController.sourceType = .photoLibrary imagePickerController.delegate = self self.present(imagePickerController, animated: true, completion: nil) } } extension ViewController: UIImagePickerControllerDelegate,UINavigationControllerDelegate { func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { let image = info[UIImagePickerControllerOriginalImage] as? UIImage self.pickedImage = image picker.dismiss(animated: true, completion: nil) } }
参考