Любая идея, если есть способ получить длину жестового салфетки или касаний, чтобы я мог рассчитать расстояние?UISwipeGestureRecognizer Длина прокрутки
ответ
Невозможно получить дистанцию от жестов салфетки, поскольку SwipeGesture запускает метод, когда вы можете получить доступ к местоположению ровно один раз, когда жест закончился.
Возможно, вы хотите использовать UIPanGestureRecognizer.
Если вы можете использовать жест панорамы, вы сохраните начальную точку кастрюли, и если панорама закончится, вычислите расстояние.
- (void)panGesture:(UIPanGestureRecognizer *)sender {
if (sender.state == UIGestureRecognizerStateBegan) {
startLocation = [sender locationInView:self.view];
}
else if (sender.state == UIGestureRecognizerStateEnded) {
CGPoint stopLocation = [sender locationInView:self.view];
CGFloat dx = stopLocation.x - startLocation.x;
CGFloat dy = stopLocation.y - startLocation.y;
CGFloat distance = sqrt(dx*dx + dy*dy);
NSLog(@"Distance: %f", distance);
}
}
Вы можете сделать это стандартным способом: запомнить сенсорную точку touchBegin и сравнить точку с touchEnd.
Для тех из нас, используя Xamarin:
void panGesture(UIPanGestureRecognizer gestureRecognizer) {
if (gestureRecognizer.State == UIGestureRecognizerState.Began) {
startLocation = gestureRecognizer.TranslationInView (view)
} else if (gestureRecognizer.State == UIGestureRecognizerState.Ended) {
PointF stopLocation = gestureRecognizer.TranslationInView (view);
float dX = stopLocation.X - startLocation.X;
float dY = stopLocation.Y - startLocation.Y;
float distance = Math.Sqrt(dX * dX + dY * dY);
System.Console.WriteLine("Distance: {0}", distance);
}
}
В Swift
override func viewDidLoad() {
super.viewDidLoad()
// add your pan recognizer to your desired view
let panRecognizer = UIPanGestureRecognizer(target: self, action: Selector("panedView:"))
self.view.addGestureRecognizer(panRecognizer)
}
func panedView(sender:UIPanGestureRecognizer){
if (sender.state == UIGestureRecognizerState.Began) {
startLocation = sender.locationInView(self.view);
}
else if (sender.state == UIGestureRecognizerState.Ended) {
let stopLocation = sender.locationInView(self.view);
let dx = stopLocation.x - startLocation.x;
let dy = stopLocation.y - startLocation.y;
let distance = sqrt(dx*dx + dy*dy);
NSLog("Distance: %f", distance);
if distance > 400 {
//do what you want to do
}
}
}
Надежда, которая помогает всем вам Swift пионерами
func swipeAction(gesture: UIPanGestureRecognizer) {
let transition = sqrt(pow(gesture.translation(in: view).x, 2)
+ pow(gesture.translation(in: view).y, 2))
}
Обратите внимание: код не отвечает. Пожалуйста, добавьте немного объяснений. – GhostCat
- 1. длина Finding с помощью UISwipeGestureRecognizer
- 2. UISwipeGestureRecognizer location
- 3. JQuery фокус() длина прокрутки страниц
- 4. UISwipeGestureRecognizer и CollectionView прокрутки к следующему пункту indexPath
- 5. UISwipeGestureRecognizer заблокирован UITapGestureRecognizer
- 6. IOS: UISwipeGestureRecognizer
- 7. Альтернатива UISwipeGestureRecognizer?
- 8. Не удалось правильно настроить UISwipeGestureRecognizer.
- 9. setExclusiveTouch игнорируется при использовании UISwipeGestureRecognizer
- 10. Состояние UISwipeGestureRecognizer всегда завершено
- 11. Ограничение UISwipeGestureRecognizer Area
- 12. Xamarin UISwipeGestureRecognizer Renderer
- 13. UISwipeGestureRecognizer управляющая яркость
- 14. UISwipeGestureRecognizer конечная точка
- 15. iPhone OpenGL-ES: UISwipeGestureRecognizer
- 16. UISwipeGestureRecognizer in viewForHeaderInSection
- 17. Как настроить 2 UISwipeGestureRecognizer
- 18. UISwipeGestureRecognizer Not Performing Method
- 19. Swift - UISwipeGestureRecognizer В UIScrollView
- 20. UISwipeGestureRecognizer конфликтует с UIScrollView
- 21. UISwipeGestureRecognizer Размах Расстояние
- 22. UISwipeGestureRecognizer вопрос диагональных салфеток
- 23. Переместить UITableView с UISwipeGestureRecognizer
- 24. UISwipeGestureRecognizer без касания
- 25. WebView и UISwipeGestureRecognizer
- 26. UISwipeGestureRecognizer называется дважды
- 27. UITabBarController с UISwipeGestureRecognizer
- 28. UISwipeGestureRecognizer от определенного места
- 29. UISwipeGestureRecognizer gesture start point
- 30. Утилита UISwipeGestureRecognizer с Swift
Я думаю, что вы можете только получить направление fr om UISwipeGestureRecognizer. Может быть, вы можете получить позицию, где начинается прикосновение, и где оно заканчивается, и рассчитать длину от этого. – picknick