gpt4 book ai didi

ios - 如何在多个 View Controller 中将图像从 UIImagePickerController 设置为 UIimages

转载 作者:行者123 更新时间:2023-11-28 12:50:50 25 4
gpt4 key购买 nike

编码新手,我想出了如何让用户使用以下代码选择照片作为背景

 func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {

if let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage {
backgroundImage.contentMode = .ScaleAspectFill
backgroundImage.image = pickedImage
}

dismissViewControllerAnimated(true, completion: nil)
}

// Wallpaper function

@IBAction func wallpaperMenuPressed(sender: AnyObject) {

imagePicker.allowsEditing = false
imagePicker.sourceType = .PhotoLibrary

presentViewController(imagePicker, animated: true, completion: nil)

}

它有效,但仍未弄清楚如何保存它,但很快就会找到。

但是,如果我的所有 View 中都有一个 backgroundImage,我如何让它为所有 View 设置相同的图像?

谢谢

最佳答案

我建议使用 NSNotificationCenter。

在您需要应用更改的每个 View Controller 中,您会监听通知:

let nc = NSNotificationCenter.defaultCenter()
nc.addObserver(self, selector: "UpdateBackgroundImage:", name: "BackgroundImageChanged", object: image)

在每个 View Controller 中,您都需要实现选择器,在本例中为 UpdateBackgroundImage。它们类似于:

func UpdateBackgroundImage(notification: NSNotification) {
let backgroundImage = notification.userInfo!["image"] as UIImage
// Your code to assign image to background
}

保存图像后,您可以发布通知:

// Right after you assign backgroundImage.image = pickedImage  
let nc = NSNotificationCenter.defaultCenter()
let myDict = [pickedImage, "image"]
nc.postNotificationName("BackgroundImageChanged", object: nil, userInfo: myDict)

使用 NSNotificationCenter 的好处是,当您添加需要更新背景图像的新 View 时,您只需添加第一段代码。您无需更新选择图像的代码。

关于ios - 如何在多个 View Controller 中将图像从 UIImagePickerController 设置为 UIimages,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36588334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com