Tag: uigesturerecognizer

iOS >>拖动视图跳回原始位置>>自动布局与UIPanGestureRecognizer问题结合

我有几个UIViews,用户应该能够拖放。 我使用UIPanGestureRecognizer来pipe理d&d操作(请参阅下面的代码)。 d&d动作工作正常,但是当我开始拖动另一个UIView时,我刚刚掉落的那个就跳回原来的位置。 – (void)handlePan:(UIPanGestureRecognizer *)recognizer { CGPoint translation = [recognizer translationInView:self.view]; switch (recognizer.state) { case UIGestureRecognizerStateBegan: for (UIView* checkView in dragAndDropImageViewsArray) { if (checkView == recognizer.view) { [checkView.superview bringSubviewToFront:checkView]; //this is done to make sure the currently dragged object is the top one } } break; case UIGestureRecognizerStateChanged: recognizer.view.center = CGPointMake(recognizer.view.center.x + translation.x, recognizer.view.center.y […]

允许UIScrollView及其子视图响应触摸

我希望我的UIScrollView及其子视图都可以接收子视图中的所有触摸事件。 每个人都可以以自己的方式回应。 或者,如果点击手势被转发到子视图,一切都会好起来的。 很多人都在这个普遍的领域挣扎。 以下是一些相关的问题: UIScrollView如何从其子视图中窃取 如何从UIScrollView窃取触摸? 如何在UIScrollView中取消滚动 顺便说一句,如果我重写hitTest:withEvent:在滚动视图中,只要userInteractionEnabled为YES,就会看到触摸。 但这并不能真正解决我的问题,因为: 1)那时候,我不知道这是不是一个水龙头。 2)有时我需要将userInteractionEnabled设置为NO。 编辑:澄清,是的,我想对平底锅不同的水龙头。 点击应该通过子视图来处理。 平底锅可以通过滚动视图以通常的方式处理。

如何在swift中以编程方式调用UIView的手势点击

我有一个UIView和我已经添加了点击手势: let tap = UITapGestureRecognizer(target: self, action: Selector("handleTap:")) tap.delegate = self myView.addGesture(tap) 我想在testing文件中以编程方式调用它。 sendActionForEvent 我正在使用这个function,但它不工作: myView.sendActionForEvent(UIEvents.touchUpDown) 它显示发送给实例的无法识别的select器。 我怎么解决这个问题? 提前致谢

UISwipeGestureRecognizer刷卡长度

任何想法,如果有一种方法来获得一个滑动手势的长度或触摸,以便我可以计算距离?

UIGestureRecognizer阻止子视图处理触摸事件

我试图弄清楚这是如何做到正确的 。 我试图描绘的情况: 我添加一个UITableView作为UIView的子视图。 UIView响应pinchGestureRecognizer和pinchGestureRecognizer ,但是当这样做时,tableview停止对这两个手势作出反应(它仍然对滑动作出反应)。 我已经使它与下面的代码工作,但它显然不是一个很好的解决scheme,我敢肯定有一个更好的方法。 这是放在UIView (超级视图): -(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { if([super hitTest:point withEvent:event] == self) { for (id gesture in self.gestureRecognizers) { [gesture setEnabled:YES]; } return self; } for (id gesture in self.gestureRecognizers) { [gesture setEnabled:NO]; } return [self.subviews lastObject]; }

Swift3 iOS – 如何使UITapGestureRecognizer触发器function

我试图添加一个UITapGesture到一个UIButton,所以它会触发一个function,当点击。 我正在使用Swift 3并出现一些错误: 终止应用程序由于未捕获的exception'NSInvalidArgumentException',原因:' – [SwiftRunner.ViewController tapBlurButton]:无法识别的select发送到实例0x149e07610' 这大致是我所拥有的: // Swift 3 import UIKit class ViewController { @IBOutlet weak var qsBlurButton: UIButton! override func viewDidLoad() { super.viewDidLoad() let tapGesture = UITapGestureRecognizer(target: self, action: Selector(("tapBlurButton"))) qsBlurButton.addGestureRecognizer(tapGesture) } func tapBlurButton(sender: UITapGestureRecognizer) { print("Please Help!") } }