如何将 UI 图像从一个视图控制器传递到另一个?
How to pass UI image from one view controller to another?
我需要将图像从一个视图控制器传递到另一个视图控制器我让用户 NSuserdefault 将图像变量声明为全局变量,但由于未捕获的异常 'NSInvalidArgumentException',它显示此错误应用程序,原因:“尝试插入非属性列表对象
func imagePickerController(picker: UIImagePickerController!, didFinishPickingImage image: UIImage!, editingInfo: NSDictionary!) {
self.dismissViewControllerAnimated(true, completion: { () -> Void in
})
imageview.image = image
NSUserDefaults.standardUserDefaults().setObject(image, forKey:"image")
NSUserDefaults.standardUserDefaults().synchronize()
}
你是什么意思?将 UIImage 的变量传递给另一个 viewController?您提供的信息太少了。
也许你想看看这个 link Using Delegation to Communicate With Other View Controllers.
只需创建一个 属性 的 NSString *imageName 并将其设置在 pushing/presenting 一个 viewcontroller 之前,在你的另一个 viewcontroller 你可以阅读这个 属性 创建一个 UIImage。
不能直接将图片保存到UserDefaults中,可以将图片压缩成png/jpeg数据,再将数据保存到userDefaults中。使用方法
NSData *UIImagePNGRepresentation(UIImage *image);
和
if imageData {
NSUserDefaults.standardUserDefaults().setObject(imageData, forKey:"image")
NSUserDefaults.standardUserDefaults().synchronize()
}
读取userDefaults时,可以先读取数据,然后使用方法将数据转为图片
UIImage-imageWithData: 或 swift 样式 UIImage(data:)
一般情况下,我们不会像上面那样做,我们将图像保存到文件中,并将文件的路径保存到userDefault
要使用 NSUSerdefaults 存储图像:
var testimage = UIImage(named: "testimage.png");
NSUserDefaults.standardUserDefaults().setObject(UIImagePNGRepresentation(testimage), forKey:"image")
}
要在另一个中检索它 class:
var imagedata: NSData = NSUserDefaults.standardUserDefaults().dataForKey("image")!
imageview.image = UIImage (data: imagedata)
我需要将图像从一个视图控制器传递到另一个视图控制器我让用户 NSuserdefault 将图像变量声明为全局变量,但由于未捕获的异常 'NSInvalidArgumentException',它显示此错误应用程序,原因:“尝试插入非属性列表对象
func imagePickerController(picker: UIImagePickerController!, didFinishPickingImage image: UIImage!, editingInfo: NSDictionary!) {
self.dismissViewControllerAnimated(true, completion: { () -> Void in
})
imageview.image = image
NSUserDefaults.standardUserDefaults().setObject(image, forKey:"image")
NSUserDefaults.standardUserDefaults().synchronize()
}
你是什么意思?将 UIImage 的变量传递给另一个 viewController?您提供的信息太少了。
也许你想看看这个 link Using Delegation to Communicate With Other View Controllers.
只需创建一个 属性 的 NSString *imageName 并将其设置在 pushing/presenting 一个 viewcontroller 之前,在你的另一个 viewcontroller 你可以阅读这个 属性 创建一个 UIImage。
不能直接将图片保存到UserDefaults中,可以将图片压缩成png/jpeg数据,再将数据保存到userDefaults中。使用方法
NSData *UIImagePNGRepresentation(UIImage *image);
和
if imageData {
NSUserDefaults.standardUserDefaults().setObject(imageData, forKey:"image")
NSUserDefaults.standardUserDefaults().synchronize()
}
读取userDefaults时,可以先读取数据,然后使用方法将数据转为图片
UIImage-imageWithData: 或 swift 样式 UIImage(data:)
一般情况下,我们不会像上面那样做,我们将图像保存到文件中,并将文件的路径保存到userDefault
要使用 NSUSerdefaults 存储图像:
var testimage = UIImage(named: "testimage.png");
NSUserDefaults.standardUserDefaults().setObject(UIImagePNGRepresentation(testimage), forKey:"image")
}
要在另一个中检索它 class:
var imagedata: NSData = NSUserDefaults.standardUserDefaults().dataForKey("image")!
imageview.image = UIImage (data: imagedata)