【问题标题】:How to add child to view controller swift?如何快速将孩子添加到视图控制器?
【发布时间】:2019-06-23 02:05:42
【问题描述】:

我正在尝试将图像添加到视图控制器上的特定坐标,我已经导入了 SpriteKit 以查看是否有帮助。我只需要添加图像并能够在 UIBezierPath 上移动它,但它不会让我添加 Child。

    var blueDot = SKSpriteNode()
    var blackDot = SKSpriteNode()
    var levelLabelInt = levelLabel.text!.toInt()

    var blueDotTexture = SKTexture(imageNamed: "Sprites.atlas/BlueDot.png")
    blueDot = SKSpriteNode(texture: blueDotTexture)
    blueDot.position = CGPoint(x: (50), y: levelLabelInt! + 100)
    self .addChildViewController: ViewController (blueDot)

【问题讨论】:

  • 如果您尝试将图像添加到视图中,为什么要使用 Spritekit?你有一张图片,对吧(BlueDot.png)?将图像视图添加到控制器的视图中,并设置其图像。你说你想做的与 SpriteKit 或添加子视图控制器无关。

标签: ios iphone xcode swift


【解决方案1】:

通过查看上面的code,您的问题之一是self 和.addChildViewController 之间的空格

在 Swift 中要向self 发送消息,您必须使用 .dotSyntax。而addChild() 函数需要UIViewController 类型的参数

self.addChild(blueDot) 语法正确,但 blueDot 的类型为:SKNode 和 SKNode 不继承自 UIViewController,因此您无法传递该参数。

我建议你这样做:

    let image = UIImage(named: "Sprites.atlas/BlueDot.png")
    let imageView = UIImageView(image: image)
    self.view.addSubview(imageView)

现在您在 ViewController 的视图层次结构中有一个图像,或者您更喜欢引用它:父对象中的一个子对象。

【讨论】:

  • 感谢这有很大帮助!我也有同样的问题。
猜你喜欢
  • 1970-01-01
  • 2015-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-03
  • 1970-01-01
  • 2013-10-15
  • 1970-01-01
相关资源
最近更新 更多