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?)