更新UIImageView Swift的位置

尼古拉斯·卡洛格罗普洛斯(Nicolas Kalogeropoulos)

我在尝试按下按钮时试图使可拖动图像(猴子)代替另一个可拖动图像(香蕉)。

到目前为止,我已经能够获取香蕉的坐标,并将其存储为猴子的新的x,y坐标。但是,视图不会更新,猴子也不会移动到新位置。

我确定我需要更新视图,但无法弄清楚。我试图添加一个新的子视图(self.view.addSubview(monkey)),但是当我这样做时,将重置整个视图,并且猴子和香蕉都将返回其原始坐标。

这是操作按钮的代码:

@IBAction func getCoordinates (sender : AnyObject) {
    var bananax = banana.frame.origin.x
    var bananay = banana.frame.origin.y

    var monkeyx = monkey.frame.origin.x
    var monkeyy = monkey.frame.origin.y
    println("Banana : \(bananax) et \(bananay)")
    println("Monkey's default coordinates : \(monkeyx) et \(monkeyy)")


    monkeyx = bananax
    monkeyy = bananay
    println("Monkey's new coordinates : \(monkeyx) et \(monkeyy)")
}

关于如何仅更新猴子而不重置整个视图的任何想法吗?

谢谢 :)

伯格·奎斯特

这些值只是扔掉,当你设置monkeyxmonkeyy下方。

var monkeyx = monkey.frame.origin.x
var monkeyy = monkey.frame.origin.y

分配下面的值只是将值从一个局部变量分配给另一个。实际上并不会更改的坐标monkey

monkeyx = bananax
monkeyy = bananay

您必须通过构造一个新的CGRect并分配monkey来设置猴子的新坐标frame

monkey.frame = CGRect(x: bananax, y: bananay, width: monkey.frame.size.width, height: monkey.frame.size.height)

当您只是将monkey'origin banana'设置为'origin '时,您可以删除所有var声明,并通过monkey使用monkey'size和banana'origins构建'new frame来将其减少为一行

monkey.frame = CGRect(origin: banana.frame.origin, size: monkey.frame.size)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

更改UIImageView的位置后是否需要更新约束?

来自分类Dev

使用动画无法更新UIImageView(石头“对象”)的位置

来自分类Dev

在Swift中的MKMapView中显示当前位置并更新位置

来自分类Dev

Swift:从后台返回时位置未更新

来自分类Dev

iOS Swift获取当前位置更新

来自分类Dev

获取UIImageView的位置

来自分类Dev

保持原点位置的UIImageView

来自分类Dev

移动 UIImageview 的位置

来自分类Dev

Swift后台通过Core Location获取位置更新

来自分类Dev

如何在Swift / iOS中更新Google Maps标记位置

来自分类Dev

Swift-旋转时将UIImageView保持在相同位置

来自分类Dev

Swift-将子视图添加到所有设备的UIImageView的相同位置

来自分类Dev

UIImageView没有更新

来自分类Dev

在UIImageView中更新图像

来自分类Dev

UIImageView没有更新

来自分类Dev

无法正确更新UIImageView

来自分类Dev

swift ios9:尝试启动MapKit位置更新而不提示位置授权

来自分类Dev

iOS和Swift:CLLocationManagerDelegate不更新第一个位置以外的位置坐标

来自分类Dev

虚线边框UIImageView swift

来自分类Dev

UIImageView Resizing / Scaling - SWIFT

来自分类Dev

Swift UIImageView拉伸外观

来自分类Dev

UIImageView计入SWIFT

来自分类Dev

Swift:刷新UIImageView图像

来自分类Dev

UIImageView获取显示图像的位置

来自分类Dev

根据UIBezierPath更改UIImageView的位置

来自分类Dev

如何获取移动UIImageView的位置

来自分类Dev

根据UIBezierPath更改UIImageView的位置

来自分类Dev

更新UIImageView占用太多内存

来自分类Dev

Xcode:UIImageView图像未更新