我是iOS开发的新手。
如何实现滑动手势以来来回更改视图?到目前为止我见过的最好的例子是Soundcloud应用程序,但我无法弄清楚如何使它工作。
使用此代码......
override func viewDidLoad() {
super.viewDidLoad()
var swipeRight = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
swipeRight.direction = UISwipeGestureRecognizerDirection.Right
self.view.addGestureRecognizer(swipeRight)
}
func respondToSwipeGesture(gesture: UIGestureRecognizer) {
if let swipeGesture = gesture as? UISwipeGestureRecognizer {
switch swipeGesture.direction {
case UISwipeGestureRecognizerDirection.Right:
println("Swiped right")
//change view controllers
let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
let resultViewController = storyBoard.instantiateViewControllerWithIdentifier("StoryboardID") as ViewControllerName
self.presentViewController(resultViewController, animated:true, completion:nil)
default:
break
}
}
}
override func viewDidLoad()
{
super.viewDidLoad()
let leftSwipe = UISwipeGestureRecognizer(target: self, action: #selector(handleSwipes(_:)))
let rightSwipe = UISwipeGestureRecognizer(target: self, action: #selector(handleSwipes(_:)))
leftSwipe.direction = .left
rightSwipe.direction = .right
view.addGestureRecognizer(leftSwipe)
view.addGestureRecognizer(rightSwipe)
}
@objc func handleSwipes(_ sender:UISwipeGestureRecognizer)
{
if (sender.direction == .left)
{
print("Swipe Left")
// show the view from the right side
}
if (sender.direction == .right)
{
print("Swipe Right")
// show the view from the left side
}
}
您可以将UISwipeGestureRecognizer添加到您的UIView中,并将此手势添加到目标以及手势发生时要执行的操作
var swipeGesture = UISwipeGestureRecognizer(target: self, action: "doSomething")
myView.addGestureRecognizer(swipeGesture)
func doSomething() {
// change your view's frame here if you want
}
本教程可能对您有所帮助:http://www.avocarrot.com/blog/implement-gesture-recognizers-swift/
基本上,您需要在视图中添加一个手势识别器来侦听滑动手势。然后,当它检测到滑动时,请按下一个视图。