gpt4 book ai didi

ios - Swift - 在 1 个 ViewController 中的 2 个 UIImageView 中显示两个单独的图像

转载 作者:搜寻专家 更新时间:2023-11-01 07:27:49 24 4
gpt4 key购买 nike

我想在一个 View Controller 上显示两张图片,从相机胶卷中选择它们,

我已经设法进入相机胶卷以便能够选择它们,但是当我选择一个图像时它会将它们放在两个 UIImageView 中。

我希望能够在 UIImageView 中显示两个不同的图像。

 func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
//handle media here i.e. do stuff with photo

print("imagePickerController called")


if let chosenImage = info[UIImagePickerControllerEditedImage] {
profileImage.image = chosenImage as? UIImage

let user: PFUser = PFUser.currentUser()!
let profileImageData = UIImageJPEGRepresentation(profileImage.image!, 1)
if (profileImageData != nil)
{
let profileFileObject = PFFile(data: profileImageData!)
user.setObject(profileFileObject!, forKey: "profilePicture")
}
}

到这里我可以选择一个图像并将其成功保存到 Parse,但是当我尝试为另一个 UIImageView 添加其他代码时,如下所示:

            if let chosenCoverImage = info[UIImagePickerControllerEditedImage] {
coverImage.image = chosenCoverImage as? UIImage

let coverUser: PFUser = PFUser.currentUser()!
let coverImageData = UIImageJPEGRepresentation(coverImage.image!, 1)
if (coverImageData != nil)
{
let coverFileObject = PFFile(data: coverImageData!)
coverUser.setObject(coverFileObject!, forKey: "coverPicture")
}}
}

代码的第二部分似乎不起作用,基本上它在两个 UIImageView 中显示相同的图像,我认为我需要的是第二部分

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

但显然在同一个 swift 文件中这是不可能的。

关于如何实现这一点有什么想法吗?

提前致谢!

这是我的完整 imagePickerConytoller 代码:

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
//handle media here i.e. do stuff with photo

print("imagePickerController called")


let chosenImage = info[UIImagePickerControllerEditedImage] as? UIImage
profileImage.image = chosenImage

let user: PFUser = PFUser.currentUser()!
let profileImageData = UIImageJPEGRepresentation(profileImage.image!, 1)
if (profileImageData != nil)
{
let profileFileObject = PFFile(data: profileImageData!)
user.setObject(profileFileObject!, forKey: "profilePicture")
}

let chosenCoverImage = info[UIImagePickerControllerEditedImage] as? UIImage
coverImage.image = chosenCoverImage

let coverUser: PFUser = PFUser.currentUser()!
let coverImageData = UIImageJPEGRepresentation(coverImage.image!, 1)
if (coverImageData != nil)
{
let coverFileObject = PFFile(data: coverImageData!)
coverUser.setObject(coverFileObject!, forKey: "coverPicture")
}

activityIndicator = UIActivityIndicatorView(frame: CGRectMake(0, 0, 50, 50))
activityIndicator.center = self.profileImage.center
activityIndicator.hidesWhenStopped = true
activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.White
view.addSubview(activityIndicator)
activityIndicator.startAnimating()
activityIndicator.color = UIColor.grayColor()

user.saveInBackgroundWithBlock { (success:Bool, error:NSError?) -> Void in
self.activityIndicator.stopAnimating()
}


dismissViewControllerAnimated(true, completion: nil)
}

下面是我如何在我的 ViewDidLoad 中从 Parse 获取它们:

if (PFUser.currentUser()?.objectForKey("profilePicture") != nil)
{
let userImageFile:PFFile = PFUser.currentUser()?.objectForKey("profilePicture") as! PFFile
userImageFile.getDataInBackgroundWithBlock({ (imageData: NSData?, error: NSError?) -> Void in
self.profileImage.image = UIImage(data: imageData!)
})
}

if (PFUser.currentUser()?.objectForKey("coverPicture") != nil)
{
let userCoverFile:PFFile = PFUser.currentUser()?.objectForKey("coverPicture") as! PFFile
userCoverFile.getDataInBackgroundWithBlock({ (imageData: NSData?, error: NSError?) -> Void in
self.coverImage.image = UIImage(data: imageData!)
})
}

最佳答案

这不会是完整的,但会有您需要的关键部分

class ResponsePhotoController: UIViewController, UIImagePickerControllerDelegate
{
var imageType : Int = 0 // use this to track the image type
// 0 for profile
// 1 for cover

在您的代码中获取个人资料图片

imageType = 0

然后当你去拿封面图片的时候

imageType = 1

然后在imagePickerController中

if imageType == 0
{
// set up the profile picture
}
else
{
// set up the cover image
}

关于ios - Swift - 在 1 个 ViewController 中的 2 个 UIImageView 中显示两个单独的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34816379/

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