当我按下按钮时,我正试图制作一个可拖动的图像(猴子)代替另一个可拖动的图像(香蕉).
到目前为止,我已经能够获得香蕉的坐标,并将它们存储为猴子的新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)")
}
Run Code Online (Sandbox Code Playgroud)
关于如何仅更新猴子而不重置整个视图的任何想法?
谢谢 :)
tl;dr: 我应该如何设置我的标签,以便可以使用手势识别器检索它们?
我正在设置一个视图,用户可以在其中按下按钮时生成多个 UIImageViews。图像创建过程是:
var siegeView: UIView!
var round1: UIImageView!
var setTag : Int!
var tagCounter = 0
@IBAction func showContent(sender: AnyObject) {
round1 = UIImageView(frame: CGRectMake(0, 0, 100, 100))
round1.image = UIImage(named: nomDuRond.text)
setTag = tagCounter
tagCounter++
self.rond1.tag = setTag
var label = UILabel(frame: CGRectMake(0, 0, 200, 21))
label.center = CGPointMake(round1.frame.origin.x+50, round1.frame.origin.y+100)
label.textAlignment = NSTextAlignment.Center
label.text = nomDuRond.text
siegeView = UIView(frame: CGRectMake(round1.frame.origin.x, round1.frame.origin.y, round1.frame.size.width, round1.frame.size.height))
round1.userInteractionEnabled = true
siegeView.addSubview(rond1)
siegeView.addSubview(label)
view.addSubview(siegeView)
let recognizer = UIPanGestureRecognizer(target: self, action:Selector("handlePan:"))
recognizer.delegate = …Run Code Online (Sandbox Code Playgroud)