Tag: uigesturerecognizer

iOS按住手势+点按

我有一个按住手势。 在按住期间,我想在屏幕上的其他地方检测到单击。 问题是,当我开始在屏幕上的其他地方点击时,按住手势会中断,不会调用“触摸”function。 有没有办法在别的地方保留新闻和持有?

如何实现touch在触摸开始,touchesEnded

我想知道如果有人知道如何实现“触摸里面”的反应,当用户按下,然后举起touchesBegan , touchesEnded方法的手指。 我知道这可以用UITapGestureRecognizer完成,但实际上我正在试图使它只能快速点击(使用UITapGestureRecognizer ,如果你长时间保持你的手指,然后提起,它仍然执行)。 任何人都知道如何实现这个?

如何在iOS中使用Swift反转手势识别器时返回信息?

我是iOS Development和Swift的新手。 我在Google上find的许多资源都是用Objective-C编写的,而我也不熟悉它。 我有两个视图故事板,S1和S2。 他们每个人至less有一个视图控制器,VC1和VC2分别。 我使用手势识别器从S1到S2,而不是Segue。 在S2上,我select从表格视图获取的数据。 当我从表格上的列表中按下一个值时,我想把这个值发回到S1。 用Swift做这件事的最好方法是什么? 谢谢!

tableView.addGestureRecognizer为tableViewController的一个部分

我是新来的iOS,迅速。 我有两个部分在我的tableView。 我希望能够在第二部分做一个longPressGesture,而不是第一部分,使用户能够在第二部分重新排列tableview单元格。 我将如何迅速做到这一点? 有谁愿意提供一个简单的示例代码在Swift中吗? 感谢您的帮助,非常感谢!

UIButton触摸事件贯穿到底层视图

我创build了一个包含两个UIButton的小UIView 。 该视图响应UITapGesture事件。 button应该回应TouchUpInside ,但是当我点击button时,响应者是底层视图,轻TouchUpInside手势select器被触发。 寻找build议或build议。

gestureRecognizer shouldReceiveTouch坚持在解除分配视图导致崩溃

我有一个相当简单的UITableView,在堆栈上推新视图。 新视图有一个像这样初始化的gestureRecognizer @synthesize swipeGestureLeft; – (void)viewDidLoad { swipeGestureLeft = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(toggleViewLeft)]; swipeGestureLeft.numberOfTouchesRequired = 1; swipeGestureLeft.delegate=self; swipeGestureLeft.direction = (UISwipeGestureRecognizerDirectionLeft); [self.view addGestureRecognizer:swipeGestureLeft]; } 我也调用委托方法 – (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { if (viewShown==1) { return NO; } return YES; } 并在我有dealloc方法 – (void)dealloc { NSLog(@"I AM IN DEALLOC"); swipeGestureLeft.delegate=nil; [self.view removeGestureRecognizer:swipeGestureLeft]; swipeGestureLeft=nil; } 在我的.h文件中 @interface MyViewController […]

Swift – 使用Long Gesture识别器拖放TableViewCell

所以我已经看到很多关于重新sorting与“编辑模式”有关的单元格的post,但是没有解决我所遇到的问题。 (对不起,如果我错了)。 我正在构build一个排名应用程序,并寻找一种方法来使用长手势识别器来重新排列我的UITableView中的单元格。 基本上,用户将能够重新sorting和“sorting”与他们的朋友在一个组中的string充满string。 我会去在导航栏中使用“编辑”栏button项的标准路线,但我正在使用导航栏的右上angular添加新的string到tableview已经。 (下图描述了我的意思)。 到目前为止,我已经添加了` var lpgr = UILongPressGestureRecognizer(target: self, action: "longPressDetected:") lpgr.minimumPressDuration = 1.0; tableView.addGestureRecognizer(lpgr)` 我的viewDidLoad方法,并开始创build以下function: func longPressDetected(sender: AnyObject) { var longPress:UILongPressGestureRecognizer = sender as UILongPressGestureRecognizer var state:UIGestureRecognizerState = longPress.state let location:CGPoint = longPress.locationInView(self.tableView) as CGPoint var indexPath = self.tableView.indexPathForRowAtPoint(location)? var snapshot:UIView! var sourceIndexPath:NSIndexPath! } 我在互联网上search到的所有资源最终都向我展示了一个巨大的,长期的添加剂列表,以获得所需的结果,但这些例子涉及核心数据。 在我看来,必须有一个更简单的方法来简单地重新排列tableview单元格与长按?

添加手势识别器到tableView头不起作用?

我知道一个“表视图标题”(表视图的最顶部)是一个视图所以我尝试添加一个UITapGestureRecognizer,但它不工作… 代码很简单: – (void)tap:(UITapGestureRecognizer *)recognizer { // do something } UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tap:)]; [self.tableView.tableHeaderView addGestureRecognizer:recognizer]; 任何提示在这里关心? 非常感谢

捏和旋转:UIGestureRecognizerDelegate不被调用

我试图在同一视图中实现捏和旋转。 有时捏select器被调用,有时旋转一个,好的,但随后它坚持下去。 这个问题很明显是gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer没有被调用。 为什么不? 必须是明显的东西… @interface FaceView : UIView <UIGestureRecognizerDelegate> { } – (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer; @end @implementation FaceView – (id)initWithFrame:(CGRect)frame { if( self = [super initWithFrame:frame] ) { self.multipleTouchEnabled = YES; self.userInteractionEnabled = YES; UIRotationGestureRecognizer* rotationRecognizer = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotationGesture:)]; [self addGestureRecognizer:rotationRecognizer]; [rotationRecognizer release]; UIPinchGestureRecognizer* pinchRecognizer = [[UIPinchGestureRecognizer alloc] […]

从一个button的LongPress手势提供的iOS UIActionSheet错误地需要双击button来解除

我有一个tabbar应用程序,在我有一个MKMapView的选项卡之一。 在这个视图中,我的viewDidLoad我正在初始化一个UIButton的长按手势识别器。 当这个button被按下,并帮助它出现一个UIActionSheet 5button+取消button。 每个button代表缩放级别:“世界”,“国家”,“国家”,“城市”,“当前位置”。 在UIActionSheet中select一个button可以将底层MKMapView放大到这个级别。 我遇到的问题是所有button(包括取消button)都需要双击才能closuresUIActionSheet。 这不是预期的行为 – 按下button后,应该像其他UIActionSheet一样解散。 第一次按下后,我可以看到地图缩放到UIActionSheet后面的适当级别,所以我知道触摸正在注册在正确的button上,但button在第一次按下时不会高亮显示蓝色,并且UIActionSheet不会消除。 直到我再次按下button,它会突出显示蓝色,然后解散。 如果我删除了longpress手势识别器并将UIActionSheet显示在“内部修改”上,那么所有内容都按原样运行。 所以我知道这个手势是干扰的,任何想法的解决方法或解决方法? 或者这是一个应该向苹果报告的错误? – (void) viewDidLoad { // intitialize longpress gesture UILongPressGestureRecognizer *longPressRecognizer = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(zoomOptions:)]; longPressRecognizer.minimumPressDuration = 0.5; longPressRecognizer.numberOfTouchesRequired = 1; [self.currentLocationButton addGestureRecognizer:longPressRecognizer]; } – (IBAction) zoomOptions:(UIGestureRecognizer *)sender { NSString *title = @"Zoom to:"; UIActionSheet *zoomOptionsSheet = [[UIActionSheet alloc] initWithTitle:title […]