在另一个类的scrollView中添加图像?

时间:2015-07-14 19:00:49

标签: swift uiscrollview

我正在尝试将图像作为子视图添加到另一个类中存在的scrollview出口

我确实在我的外部类中为scrollView出口存在的父类创建了一个对象

var imageClassName = ImageViewController()

但是当我尝试将图像添加到滚动视图

imageClassName.scrollView.addSubview(imageView)

我收到以下错误 "致命错误:在展开“可选”值时意外发现nil

我还尝试在最后添加一个可选项,但仍然会出现相同的错误

imageClassName.scrollView?.addSubview(imageView)

任何线索?

1 个答案:

答案 0 :(得分:0)

这(可能)是一种常见的误解。当我开始时,我也有这个问题。

想象一下,你是一个奇迹般的现实世界产品设计师,而不是iOS开发人员。你为一个神奇的盒子设计了蓝图,让用户放入照片然后滚动它(有点像一个神奇的拼贴画)。你在一个焦点小组中展示了100个人,95个人说他们想要这样。然后,您将蓝图发送给制造公司,在那里生产100个相同的产品。这与您的方案类似。

您的ImageViewController.swift就像蓝图一样。单独创建它的新实例就像是说:“将图像放入magicBox的蓝图中”。 iOS有{em> no 的想法UIViewControllerImageViewController类,以便将图片放入其中,因为您可以无限次地重复使用它。您需要指定哪个您想要的(即使您可能只有一个)

因此,您必须:

  1. 进入故事板
  2. 选择目标ImageViewController
  3. 点击右侧工具栏左侧的第三个图标
  4. 在“故事板ID”部分
  5. 中输入ID(如“ImageVC1”)
  6. var imageClassName = ImageViewController()替换为:

    var imageClassName: ImageViewController = self.storyboard!.instantiateViewControllerWithIdentifier("id you entered in step 4") as! ImageViewController

  7. 你很好!