addSubview 将我的视图变为默认视图

Posted

技术标签:

【中文标题】addSubview 将我的视图变为默认视图【英文标题】:addSubview turning my view to default 【发布时间】:2015-08-17 01:29:39 【问题描述】:

似乎当我使用 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 不会改变。 对不起,我没有指定,目标不是移动实例,我有另一个图像在移动,并且每次运行此代码时该图像都会更改为其默认/起始位置 不用担心 :) 我尽力在下面回答您的问题。如果有问题请告诉我! 【参考方案1】:

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

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

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

【讨论】:

以上是关于addSubview 将我的视图变为默认视图的主要内容,如果未能解决你的问题,请参考以下文章

如何将我的主干模型连接到视图?

如何在一行代码中将多个子视图添加到我的 iOS 视图中? (也许通过“monkeypatching”一个 `addSubviews` 实例方法到 UIView?)

如果视图在 Django 中失败,如何创建默认错误装饰器?

addSubview 在调整大小的框架之外

如何在 nativescript 中显示模态视图时将窗口背景变为黑色

子视图未使用 addSubview 调整大小