我正在尝试使用UITouch将按钮从一个位置拖动到另一个位置.但是我无法拖动它.我在添加按钮目标时遇到问题...
我的代码 -
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let btn_swap = UIButton.buttonWithType(UIButtonType.Custom) as UIButton!
btn_swap .setTitle("Drag Me", forState: UIControlState.Normal)
btn_swap.backgroundColor = UIColor.yellowColor()
btn_swap.addTarget(self, action: "wasDragged:", forControlEvents: UIControlEvents.TouchDragInside)
btn_swap.frame = CGRectMake((self.view.bounds.size.width - 100)/2.0,
(self.view.bounds.size.height - 50)/2.0,
100, 50)
self.view.addSubview(btn_swap)
self.creation_of_btn()
}
func wasDragged (buttn : UIButton, event :UIEvent)
{
var touch : UITouch = event.touchesForView(buttn) . anyObject() as UITouch
var previousLocation : CGPoint = touch .previousLocationInView(buttn)
var location : CGPoint = touch .locationInView(buttn)
var delta_x :CGFloat = location.x - previousLocation.x
var delta_y :CGFloat = location.y - previousLocation.y
buttn.center = CGPointMake(buttn.center.x + delta_x,
buttn.center.y + delta_y);
}
Run Code Online (Sandbox Code Playgroud)
Ani*_*ese 10
您为按钮选择了错误的选择器wasDragged:.因为你的动作方法看起来像
func wasDragged (buttn : UIButton, event :UIEvent)
{
}
Run Code Online (Sandbox Code Playgroud)
应该是wasDragged: event:.
btn_swap.addTarget(self, action: "wasDragged:event:", forControlEvents: UIControlEvents.TouchDragInside)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4438 次 |
| 最近记录: |