草庐IT

UIGestureRecognizer

全部标签

ios - 在画外音中注册 UIGestureRecognizer Action

我有一个标准的UIViewController并注册了一个UISwipeGestureRecognizer,在我的viewDidLoad覆盖中将View委托(delegate)给它。手势正确注册并调用适当的操作,但是当画外音打开时不会发生这种情况。UIGestureRecognizer是否仅适用于iOS中的标准用法?有没有办法通过语音来记录这些手势,无论是双击、滑动、捏合/缩放等? 最佳答案 弄清楚这是如何工作的,我认为值得分享:在查看了UIView类以及UIAccessibilityTraits之后,所有UIView及其子类都有一

ios - 带闭包的 UIGestureRecognizer

我有一个View,我想在其中执行向右滑动的手势。不幸的是我收到错误EXC_BAD_ACCESS。有人知道这里出了什么问题吗?请看下面的代码。extensionUIView{funcaddGestureRecognizerWithAction(nizer:UIGestureRecognizer,action:()->()){classInvoker{varaction:()->()init(action:()->()){self.action=action}funcinvokeTarget(nizer:UIGestureRecognizer){self.action()println("

ios - 拖放 - UIGestureRecognizer - View 未添加到我想要的位置

我在splitViewController中有这2个tableView(所有可用服务和提供的服务)。这个想法是,然后单元格移动到屏幕中心,它移动到提供服务的TableView。除了触摸`.began之外,一切正常,单元格被添加到覆盖导航栏的tableView的顶部。在.changed上它跟随我的手指我希望在触摸开始的地方添加View/单元格,在我触摸的“ServiceCell”之上。我尝试将它添加到splitViewController.view但我认为我的逻辑有问题。这里是代码:funcdidLongPressCell(gr:UILongPressGestureRecognizer)

swift - 覆盖 UIGestureRecognizer touchesBegan

我有1个主视图和1个subview:主视图>subview我认为主视图正在“窃取”subview中的事件。例如,当我点击SubView时,只有MainViewGestureRecognizer启动。这是我的自定义GestureRecognizer(拦截每个触摸事件):importUIKitimportUIKit.UIGestureRecognizerSubclassclassMainGestureRecognizer:UIGestureRecognizer{overridefunctouchesBegan(touches:NSSet!,withEventevent:UIEvent!){

ios - 用于两指手势的自定义 UIGestureRecognizer

我有一个自定义的UIGestureRecognizer用于双指手势,它可以完美地工作,除了它非常挑剔手指必须同时触摸iOS设备的时间,以便通过两次触摸调用touchesBegan。touchesBegan通常只用一次Touch调用,即使我尝试使用两根手指也是如此。有没有什么方法可以更宽容地识别触摸次数,以及您必须同时将手指放在触摸屏上的时间?我注意到,即使您先放置一根手指然后放置另一根手指,同时仍然按住第一根手指,也能识别出两根手指的敲击。这是我的touchesBegan函数的代码:overridefunctouchesBegan(_touches:Set,withevent:UIEv

ios - 自定义单元格和 dequeueCellWithIdentifier 中的 UIGestureRecognizer 冲突

我在UITableView中注册了一个自定义UITableViewCell(.h、.m、.xib)。现在我需要在单元格内使用自定义UIImage并将手势识别器附加到它(我不能使用UIButton)。问题是如果它在运行时我得到一个Terminatingappduetouncaughtexception'NSInternalInconsistencyException',reason:'invalidnibregisteredforidentifier(CustomCell)-nibmustcontainexactlyonetoplevelobjectwhichmustbeaUITable

ios - 如何以编程方式结束/重置 UIGestureRecognizer?

假设我目前正在跟踪拖动手势。在我的事件处理程序中,我使用一个阈值来确定拖动何时导致Action。当超过阈值时,我想指示拖动手势已完成。我在文档中唯一能找到的就是这行here:IfyouchangethispropertytoNOwhileagesturerecognizeriscurrentlyrecognizingagesture,thegesturerecognizertransitionstoacancelledstate.所以:if(translation.y>100){//doaction[selfdoAction];//endrecognizersender.enabled

iphone - UIView 的一部分的 UIGestureRecognizer

我在我的iOS应用程序中使用UIGestureRecognizer,但遇到了一些问题。我只希望手势在View的特定区域起作用,因此我创建了一个具有特定框架的新UIView并将其添加到RootView。手势可以正常工作,但现在唯一的问题是我无法单击新View下方/后面的内容(RootView上的对象)。如果我将userInteractionEnabled设置为NO,它会破坏手势,所以这不是一个选项。我该怎么做才能解决这个问题?谢谢。 最佳答案 不要为您的手势识别器创建新View。识别器实现locationInView:方法。为包含敏感

ios - UIGestureRecognizer 中多次触摸的顺序

似乎无法保证循环通过UIGestureRecognizer的方法[locationOfTouch:inView:]时UITouches出现的顺序。具体来说:for(inti=0;i人们会认为索引为0的点将是第一个UITouch,或者第一个被释放的点,但2个触摸的顺序经常被混淆。有谁知道如何测试这些事件的顺序?不幸的是,无法访问UITouch对象本身(带有时间戳)。此外,文档中不保证-locationOfTouch:inView:中的触摸始终处于可靠的顺序。谁能证实或否认这一点? 最佳答案 您可以尝试设置识别器的delegate属性并

ios - UIGestureRecognizer 拖动 UIView

我正在尝试构建一个GestureRecognizer以将UIView从右向左拖动。如果用户将View拖到屏幕的一半,View会自动拖到左下角以丢弃它,但如果用户没有拖到屏幕的一半,它将返回到屏幕的右上角。这里有点迷路,有教程之类的吗?谢谢编辑:下面是一些代码,它是一个UIImageView,位于UIScrollView中,我需要拖动整个滚动条或仅拖动其中的图像它:_myScroll=[[UIScrollViewalloc]initWithFrame:CGRectMake(0,0,self.window.bounds.size.width,self.window.bounds.size.