Ta muốn di chuyển một view
như nút bấm, chữ khỏi vị trí một khoảng cách nào đó.
Ví dụ muốn nó chạy dọc xuống
100dp, ta dùng lệnh sau trong viewDidLoad.
UIView.animateWithDuration(0.4, animations: {
self.button.center.y += 100
})
Để nó chạy ngang, bên
trong thay bằng
self.button.center.x += 100
Muốn nó di chuyển chéo thì
cho cả 2 dòng vào trong ngoặc.
Để nó chạy tới chạy lui
thì dùng các dòng sau
let op = UIViewAnimationOptions.Repeat
let rig = self.button.center.x
UIView.animateWithDuration(1, delay: 0, options: op,
animations: {
self.button.center.x += 100
}, completion: {
_in
self.button.center.x = rig
})
Để view trông như bật nảy
tới vị trí ngang cách nó 100dp, ta dùng
UIView.animateWithDuration(0.8, delay: 0,
usingSpringWithDamping: 0.7,
initialSpringVelocity: 20,
options: op,
animations:
{
self.button.center.x += 100
}, completion: nil)
Để khi người dùng chạm tay
vào view, lôi đi đâu thì nó chuyển tới chỗ đó, ta tạo một hàm.
func hand(sender: UIPanGestureRecognizer){
if sender.state != .Ended&& sender.state != .Failed{
let location = sender.locationInView(sender.view!.superview!)
sender.view!.center = location
}
}
Trong viewDidLoad, thêm
các dòng sau.
let t = UIPanGestureRecognizer(target:self, action:#selector(ViewController.hand(_:)))
button.addGestureRecognizer(t)
No comments:
Post a Comment