【问题标题】:addSubview turning my view to defaultaddSubview 将我的视图变为默认视图
【发布时间】:2023-04-04 16:32:01
【问题描述】:

似乎当我使用 addSubview 将图像添加到我的视图控制器时,视图在加载时变成了它的视图。任何原因以及如何解决? 如果需要,这是我的代码:

 let target = Targets[i]
 bullet = UIImageView(image: UIImage(named:"BulletHole"))
 bullet.frame = CGRectMake(target.center.x,target.center.y,20,20)
 bullet.hidden = false
 self.view.addSubview(bullet)

【问题讨论】:

  • 我刚刚使用示例图像运行了您的代码,一切对我来说都很好。你能准确描述发生了什么吗?
  • 我有一个实例在视图中移动,因此它的位置与其起始位置不同。我运行这段代码,它使实例回到它的起始位置。
  • 那么问题似乎出在您的 target 对象上,它正在分配位置。如果它回到它的起始位置,那么target 中的center 不会改变。
  • 对不起,我没有指定,目标不是移动实例,我有另一个图像在移动,并且每次运行此代码时该图像都会更改为其默认/起始位置
  • 不用担心 :) 我尽力在下面回答您的问题。如果有问题请告诉我!

标签: ios swift addsubview


【解决方案1】:

您的图像没有移动似乎是由于self.view.addSubview(bullet) 行表示的视图继承。有了这个,您将图像粘贴到整个视图本身。如果您希望它与另一个图像一起移动,您有两种选择:

  1. 以与移动其他图像相同的方式移动弹孔,或

  2. 将弹孔添加为正在移动的视图的子视图,而不是主视图(如self.view

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-24
    • 1970-01-01
    • 1970-01-01
    • 2013-06-23
    相关资源
    最近更新 更多