Swift:CGRect是否具有互动性?

时间:2014-08-16 18:50:27

标签: swift uipangesturerecognizer cgrect

嗨,守则的好伙伴。

我还在试图弄清楚Swift如何工作,以及如何使用它来制作漂亮的交互式UI。 因此,我试图使CGRect可拖动,触摸敏感等。

我已经看到在故事板中使用图片很容易这样做,但是在这种情况下,由于CGRect没有出现在故事​​板中,它无法正常工作因为它是由代码生成的。

到目前为止,我的代码是:

import UIKit




class ViewController: UIViewController, UIGestureRecognizerDelegate {




var square: UIView!


override func viewDidLoad() {
    super.viewDidLoad()



    square = UIView(frame: CGRect(x: 200, y: 200, width: 100, height: 100))
    square.backgroundColor = UIColor.grayColor()
    square.userInteractionEnabled = true

    view.addSubview(square)


}
}

它是一个非常漂亮的灰色方块。 但我无法想象如何让它移动。我尝试了几件事,比如像这样添加IBAction的工作代码:

func handlePan(recognizer:UIPanGestureRecognizer) {
    let translation = recognizer.translationInView(self.view)
    recognizer.view.center = CGPoint(x:recognizer.view.center.x + translation.x,
        y:recognizer.view.center.y + translation.y)
    recognizer.setTranslation(CGPointZero, inView: self.view)
}

但是它返回了一个Thread 1 SIGBRT错误。 我尝试用square替换self.view,但不是更好。

包含错误的链接:http://imgur.com/SAmOOXv

如果有人可以向我展示与该主题相关的示例或链接,我会非常高兴。

感谢您的帮助!

编辑:要清楚,我尝试将其作为经典的IBAction,这意味着我试图找到一种方法来调用handlePan函数。但要么不是它的工作方式,要么我做得不对。

0 个答案:

没有答案