标签: uigesturerecognizer

你如何阻止UITapGestureRecognizer捕获每一个?

您好我有一个opengl视图,我有一个标签栏.我正在使用点击识别器来点击屏幕上的不同3D对象.在标签栏中我有一个按钮,但它不起作用,因为水龙头识别器也捕获了这些水龙头.我怎么阻止这个?我已经尝试过了:


- (BOOL) gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
  if ([touch.view isKindOfClass:[UIBarButtonItem class]]) return FALSE;
  return TRUE;
}
Run Code Online (Sandbox Code Playgroud)

我想我在某种程度上比较了错误的classess,因为当我调试它时总是返回TRUE.

iphone conflict objective-c button uigesturerecognizer

30
推荐指数
2
解决办法
2万
查看次数

使用滑动手势关闭键盘(如在消息应用程序中)

当键盘显示在iPhone的消息应用程序上时,如果用户从消息表视图开始向下滑动并继续进入键盘区域,键盘将开始关闭.如果他们在此过程中上下移动手指,键盘会随之移动.

Apple是否使用私有API执行此操作,或者是否有一种方法可以控制键盘(我假设)手势识别器?

iphone uitableview uiresponder uigesturerecognizer ios

30
推荐指数
5
解决办法
2万
查看次数

iphone - 单击手势与双击手势冲突

我有一个观点.我希望为它定义各种轻击手势.

因此,如果用户单击视图,视图将执行A; 如果用户双击视图,它将执行B而不执行A.

我在视图中添加了两个UITapGestureRecognizer.单击具有numberOfTapsRequired = 1; 并且双击使用numberOfTapsRequired = 2;

我也设置了返回NO

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
     return NO;
}
Run Code Online (Sandbox Code Playgroud)

但是,我发现他们互相冲突.我的意思是,即使我双击视图,也会调用A和B.

我怎么解决这个问题?

谢谢

iphone tap uigesturerecognizer

29
推荐指数
1
解决办法
6888
查看次数

是否可以以编程方式在UITableViewCell上显示红色删除按钮?

这里有很多类似的问题,但我认为没有一个问题特别提出这个问题,也就是说,代码中是否有任何方法强制红色删除按钮出现在UITableView行的右侧?

我问的原因是我试图使用两个UISwipeGestureRecognizers来改变tableview的行为,这样:

  • 单指滑动会调用自定义操作(而不是显示红色删除按钮,这就是它现在的行为方式),以及

  • 双指滑动调用默认的单指滑动行为,即使红色删除按钮显示.

我已经浏览了SDK文档,但我找不到任何导致红色按钮出现的方法,这让我觉得如果不从头开始手动创建红色删除按钮并尝试制作上面提出的UI方案是不可能实现的它模仿内置的行为.

任何帮助深表感谢.

iphone uitableview uigesturerecognizer

26
推荐指数
1
解决办法
1万
查看次数

检测UIGestureRecognizer的上,下,左,右Cocos2d

我有一个CCSprite,我想用手势移动.问题是我对Cocos2D完全不熟悉.我希望我的精灵在手势开始时执行一个动作,在手势停止时执行另一个动作,在手势正确时执行另一个动作,对左手执行相同操作.有人能指出我正确的方向吗?

谢谢!

iphone xcode cocos2d-iphone uigesturerecognizer

26
推荐指数
4
解决办法
4万
查看次数

如何识别所有4个方向的滑动?

我需要识别所有方向的滑动(向上/向下/向左/向右).不是同时,但我需要认识到它们.

我试过了:

  UISwipeGestureRecognizer *Swipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(SwipeRecognizer:)];
  Swipe.direction = (UISwipeGestureRecognizerDirectionLeft | 
                     UISwipeGestureRecognizerDirectionRight |
                     UISwipeGestureRecognizerDirectionDown | 
                     UISwipeGestureRecognizerDirectionUp);
  [self.view addGestureRecognizer:Swipe];
  [Swipe release];
Run Code Online (Sandbox Code Playgroud)

但没有出现 SwipeRecognizer

这是SwipeRecognizer的代码:

- (void) SwipeRecognizer:(UISwipeGestureRecognizer *)sender {
  if ( sender.direction == UISwipeGestureRecognizerDirectionLeft )
    NSLog(@" *** SWIPE LEFT ***");
  if ( sender.direction == UISwipeGestureRecognizerDirectionRight )
    NSLog(@" *** SWIPE RIGHT ***");
  if ( sender.direction == UISwipeGestureRecognizerDirectionDown )
    NSLog(@" *** SWIPE DOWN ***");
  if ( sender.direction == UISwipeGestureRecognizerDirectionUp )
    NSLog(@" *** SWIPE UP ***");
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?如何为我的滑动对象分配所有不同的方向?

iphone objective-c ipad uigesturerecognizer uiswipegesturerecognizer

26
推荐指数
1
解决办法
3万
查看次数

从iOS7中的UINavigationController切换到弹出窗口时查看控制器生命周期

iOS 7新的刷卡到手势的姿势对视图控制器生命周期的影响是UINavigationController什么?

lifecycle uinavigationcontroller uigesturerecognizer ios7

26
推荐指数
2
解决办法
6933
查看次数

Iphone SDK中的同步手势识别器

我需要使用UISwipeGestureRecognizer(例如,UISwipeGestureRecognizerDirectionRightUISwipeGestureRecognizerDirectionLeft)捕获两个不同的滑动手势.当我使用addGestureRecognizer方法添加两个不同的识别器时,只有最后添加的识别器有效.我已经读过我需要实现gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:UIGestureRecognizerDelegate协议方法,但没有任何效果.

任何人都可以帮助捕获两个或多个相同的手势的简单示例?谢谢!

iphone objective-c uigesturerecognizer

25
推荐指数
2
解决办法
4万
查看次数

iOS 7中手势识别器的问题

UIView在屏幕上添加了几个对象(例如5个),一个在另一个内部.这一点,例如,view5.superview = view4,view4.superview = view3,view3.superview=view2,view2.superview = view1.对于所有这些UIView我设置了uitapgesturerecognizer; 对于view1-4我只是在回调中执行NSLog(@"tap%@",self),而对于view5,我设置以下内容:从层次结构中删除view4,然后将相同的对象view4'放在层次结构的同一位置.该对象还包含为其UITapGestureRecognizer设置的view5' (实际上,我用类似的一个替换标记的一部分).

然后我开始点击view5.有些时候view5继续捕捉它的点击,一切都没问题,但随后的点击随机数(每次这个数字不同),其中一个view1-4对象开始捕捉这个点击,虽然我们仍然点击view5.整个问题具有随机特征 - 有时它发生在第10次发射,有时发生在第二次.有时错误的物体会在第一次敲击时开始捕捉水龙头.当一切都出错时,我也永远不知道哪个物体会碰到水龙头.用于视图的帧(n + 1)被设置为例如帧视图(n)的一半,而用于view1的帧 - 例如(0,0 320,460).

上面描述的ui对象的所有操作都是在主线程中进行的,而我所讲述的所有内容都完全适用于iOS 4.3 - 6.1,并且有更复杂的例子.但是iOS7让它变成了一种随意的地狱.

更新: 我已经创建了一个示例项目,以简化调试过程.无需添加/删除子视图操作.屏幕上只有4个视图,点按应用程序会记录所点击的视图.因此,您需要点击最小的视图(4).如果你在日志中看到"点按4点击4点击4 ..." - 这就是一切正常,再次停止并再次运行,再次停止并再次运行等情况.在某些运行中(可能在10之后) +成功运行)你不会在第一行看到"点击4",你会看到"点击1"或"点击2"或"点击3",它将继续如此 - 这些都是坏情况.

示例项目可以从这里下载:http://tech.octopod.com/test/BuggySample.zip(归档中只有33 Kb).

更新2

我们已经向Apple发布了一个错误,我会在这里发布一些反馈意见.但是,任何好的解决方法都将非常感谢!

更新3

由Yuvrajsinh提供的解决方案真正致力于示例项目.不幸的是,它仍然没有帮助解决最初出现的主项目中出现的问题.现在的主要原因是,如果没有自我手势的任何视图都放在可点击内容上,则其下的随机视图元素开始捕捉交互(而不是具有交互手势集的顶部交互.你有任何想法如何解决它?更新的样本可以从这里下载:http://tech.octopod.com/test/BuggySample2.zip

gesture uigesturerecognizer ios uitapgesturerecognizer ios7

25
推荐指数
3
解决办法
2万
查看次数

在UITableViewCell中点击UIImageView的识别

目前我遇到了一个问题,我想在我的UITableViewCell上的UIImageView被点击时执行操作.

问题:我怎么能这样做?任何人都可以向我展示代码或任何教程吗?

提前致谢!

cocoa-touch objective-c uitableview uigesturerecognizer ios

24
推荐指数
2
解决办法
2万
查看次数