我有一个UIPanGestureRecognizer
,当手势到达屏幕的左侧或右侧时,我想调用一个方法。
我考虑过要获取位置,并将其与边缘的位置进行比较。
有没有更好的办法?如果没有,那么标准的是什么呢?是10%左右吗?更多?减?
最佳答案
当检测用户是否接近屏幕的左/右边缘时,它似乎起作用。
override func viewDidLoad() {
super.viewDidLoad()
let screenWidth = UIScreen.mainScreen().bounds.size.width
}
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
if let touch = touches.first as UITouch!{
let currentPoint = floor(touch.locationInView(self.view).x)
//print("touched point \(currentPoint) x")
edgeReach(currentPoint)
}
}
override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) {
if let touch = touches.first as UITouch! {
let currentPoint = floor(touch.locationInView(self.view).x)
//print("moved to point \(currentPoint) x")
edgeReach(currentPoint)
}
}
func edgeReach(locationX: CGFloat) {
if locationX >= 364 {
print("closer to right edge")
}
if locationX <= 50{
print("close to left edge")
}
}
如果您也将此合并到当前的UIPanGestureRecognizer中。
关于ios - 检测用户何时到达设备的左侧或右侧屏幕边缘,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33536926/