草庐IT

UIGestureRecognizer

全部标签

ios - 如何将手势识别器添加到 UIImageview?

在项目中,有一个UIViewmyView和一个UIImageViewmyImage在myView的后面,View层级:UI窗口|--UIImageView(我的图片)|--UIView(myView)[全屏]然后在ViewController的myImage中添加了一个手势识别器UITapGestureRecognizer*tapGesture=[[UITapGestureRecognizeralloc]initWithTarget:selfaction:@selector(handleSingleTap:)];tapGesture.numberOfTapsRequired=1;[my

ios - UIScrollView 覆盖了我的 subview 的平移手势识别器

如果我有一个带有subview的scrollView,并且subview有一个平移手势识别器,则scrollView的平移手势会覆盖subview的平移。我想我想要的是相反的,所以我拖动一个subview,它会在ScrollView中平移,但如果我触摸另一个区域,ScrollView将正常平移。有没有简单的方法来设置它? 最佳答案 这是对我有用的:UIPanGestureRecognizer*subviewPanRecognizer=[[UIPanGestureRecognizeralloc]initWithTarget:selfa

objective-c - 在 UITextView 中长按获取单词

现在我已经在UITextView中检测到长按-(void)viewDidLoad{[superviewDidLoad];UILongPressGestureRecognizer*LongPressgesture=[[UILongPressGestureRecognizeralloc]initWithTarget:selfaction:@selector(handleLongPressFrom:)];[[selftextview]addGestureRecognizer:LongPressgesture];longPressGestureRecognizer.delegate=self;

ios - UILongPressGestureRecognizer 不工作,但将它换成 UITapGestureRecognizer 工作正常。为什么?

我有一个带有UILongPressGestureRecognizer的UIImageView,无论我如何配置手势识别器,它似乎都检测不到长按手势。但是,如果我将它换成UITapGestureRecognizer,that就可以正常工作。可能发生了什么?这就是我配置UILongPressGestureRecognizer的方式:UIImageView*cellView=(UIImageView*)[viewviewWithTag:5];UILongPressGestureRecognizer*longPressGestureRec=[[UILongPressGestureRecogniz

ios - 用于显示工具栏的 UIWebview GestureRecognizer

我有一个WebView(在View内)和一个大部分时间隐藏的工具栏。这是ipad杂志很常见的行为:点击页面会隐藏和显示工具栏,但工具栏默认隐藏。我正在使用shouldRecognizeSimultaneouslyWithGestureRecognizer现在的行为是这样的:-如果用户点击页面(WebView),它会使用手势识别器切换工具栏状态-如果用户点击页面并且在UIWebview中有一个交互式元素(例如网络链接),它会响应该交互式链接,但也会切换工具栏。期望的行为是这样的:-如果用户在非交互区域点击页面,它会切换工具栏状态-如果用户在交互区域点击页面,它只会响应webview交互,

objective-c - 如何完全删除手势识别器

我正在尝试删除附加到uiscrollview的三个手势识别器。我列出他们使用NSArray*activeScrollViewGRecs=[theScrollViewgestureRecognizers];NSLog(@"activeScrollViewGRecscount:%d",[activeScrollViewGRecscount]);我列出了三个。然后我删除它们:for(UIGestureRecognizer*recognizerinactiveScrollViewGRecs){NSLog(@"recognizer:%@",recognizer.description);reco

iphone - 三层Pan Gesture Recogniser的困惑

在开发应用程序时,我遇到了平移手势识别器过多的问题。我的第一个平移手势识别器位于RecipeSearchVC的父级MainViewController上。这个手势识别器向左或向右滑动整个View。我的第二个平移手势识别器位于RecipeSearchParametersVC中,它是页面ViewController的父级。第三个平移手势手势识别器被添加到嵌套在由PageViewController表示的ViewController内的UIControlWheel。我知道这听起来很疯狂,而且可以说这是糟糕的设计。但是,我相信这是有凝聚力的工作就可以了。当尝试旋转滚轮时,它会旋转一两秒,然后手

ios - 禁用屏幕左边缘的 3D Touch 任务切换器手势

如果您使用具有3D触控功能的iPhone用力按下屏幕的左边缘,您将调出任务切换器。我想知道如何在我的应用中禁用此行为。 最佳答案 没有用于此的API,就像没有用于禁用任何其他退出应用程序的方法一样。如果你想要这样的东西,你可以提交enhancementrequest以及您正在尝试做的事情的描述。 关于ios-禁用屏幕左边缘的3DTouch任务切换器手势,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/

iphone - UILongPressGestureRecognizer 停止 handle 而不停止触摸

我正在使用UILongPressGestureRecognizer类来处理是否选择了一项。逻辑如下:用户在1秒内按下一个项目(UIView子类)。一旦检测到手势,项目就会突出显示并可移动。用户必须在屏幕上移动这个项目而不停止触摸它。我面临的问题是手势识别的阴影touchesBegan/Move/Ended是项目类安排移动所必需的。我试图删除一旦检测到识别的手势并选择项目。但仍然向手势句柄发送消息,而不是调用触摸方法。谁知道有什么方法可以在手指不离开屏幕的情况下停止“收听”手势识别器?谢谢。这里是代码:-(void)addGestures{UILongPressGestureRecogn

iphone - UILongPressGestureRecognizer 可以和 touchesMoved 这样的触摸事件一起使用吗?

如果我将UILongPressGestureRecognizer添加到一个对象,有没有办法让该对象中的touchesMoved事件在我的longGesture选择器响应长按手势后触发,而无需先抬起你的手指?我看到的是,一旦选择器识别出长手势,touchesMoved事件将不会响应,直到您将手指从对象上移开。换句话说,您不能按下、暂停、移动。这是否可以通过手势识别器实现,或者唯一的方法是点击并按住方法。我希望这是有道理的。谢谢。 最佳答案 您可以将UIPanGestureRecognizer和UILongPressGestureRec