简体   繁体   English

从其他视图控制器为uiimageview设置uiimage

[英]set uiimage for uiimageview from other viewcontroller

I have faced a problem with setting uiimageview from other viewcontroller. 我从其他viewcontroller设置uiimageview时遇到了问题。

DiaryDetailController.swift DiaryDetailController.swift

let imageViewPageController = (segue.destinationViewController as! ImageViewPageController)
        if (imageCount > 0) {
            imageViewPageController.image1 = tempImage1
        }

ImageViewPageController.swift ImageViewPageController.swift

let page: ImageViewDetailController! = storyboard?.instantiateViewControllerWithIdentifier("imageViewDetailController") as! ImageViewDetailController
            page.setImage(image1)
            pages.append(page)

ImageViewDetailController.swift ImageViewDetailController.swift

func setImage(image: UIImage) {
    imageView.image = image
}

And I got following error on "imageView.image = image". 我在“ imageView.image = image”上遇到以下错误。 fatal error: unexpectedly found nil while unwrapping an Optional value 致命错误:解开Optional值时意外发现nil

How should I solve this problem? 我应该如何解决这个问题?

You're probably trying to set the image before the IBOutlets are set. 您可能正在尝试设置IBOutlets之前设置图像。

Create a UIImage property in ImageViewDetailController (let's call it image ), and instead of saying: 在ImageViewDetailController中创建一个UIImage属性(我们称其为image ),而不是说:

page.setImage(image1)

You can do this 你可以这样做

page.image = image1

Then let the ImageViewDetailController deal with it once it has loaded. 然后,在ImageViewDetailController加载后对其进行处理。 So in the viewDidLoad , just say 因此,在viewDidLoad ,只需说

imageView.image = self.image

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM