问题标签 [uipinchgesturerecognizer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - 使用 UIPinchGestureRecognizer 更改圆的大小
我在屏幕中央画了一个简单的圆圈:
使用捏合手势,我允许用户增加/减少形状的半径:
但是,圆圈不会停留在死点。相反,它会在中间反弹,直到手势完成才稳定下来。
有谁知道为什么会发生这种情况,如果是这样,我该如何预防?
ios - iOS中常用于模糊图像的圆形白色捏手势叠加
我已经使用捏合手势在我的 iOS 应用程序中实现了模糊图像的功能,但是我想实现一个圆形的白色叠加层,它通常用作捏合手势的参考点,以便用户可以调整模糊量。就像下图一样:
上图来自:https ://media.tumblr.com/tumblr_lutwauVUW31qm4rc3.png
如何实现此功能?
谢谢!
objective-c - UIPinchGestureRecognizer 缩放所有视图
在我的项目中,我有一个 UIImageVIew,用户在其中导入背景,然后在该背景上放置较小的图片。
我只想将手势应用于被点击的较小图片。我使用的手势是点击、长按、平移和捏合手势。我的问题只是捏手势。我可以单独应用长按、点击和平移,但可以捏合,不仅可以缩放较小的图片,还可以缩放背景。知道如何解决这个问题吗?
在我的 - (void)viewDidLoad 我已经设置:
然后,
objective-c - 为捏合手势设置 UIScrollView 的原点
我正在创建一个滚动视图来显示一个非常大的视图,并且我需要滚动和缩放功能(就像图像查看器一样)。以下是我已采取的步骤:
- 在界面生成器中,我将滚动查看器放入视图控制器。
- 我在滚动查看器中添加了捏合手势识别器。
- 我已将手势识别器的操作连接到处理手势事件的代码。
- 加载视图控制器后,我将视图的原点更改为中心(
viewer
是我的滚动查看器):self.viewer.contentOffset = CGPointMake(384, 512);
- 在我的处理程序代码中,我这样处理事件:
(startScale
一开始是1.0)
当我运行应用程序时,手势被识别并且缩放工作正常,但是,整个视图相对于0,0
屏幕的点(左上角)进行缩放。我希望它相对于我正在应用手势的中间点进行缩放,就像放大照片的自然捏合手势一样。
我也尝试过设置self.viewer.frame
原点,但没有任何改变。我搜索了这个问题并发现了这些:
如何设置 UIView 的原点参考?(已经尝试过)
https://stackoverflow.com/questions/13163279/pinch-punch-gestures-center(关于我的问题,但未答复)
UIPinchGestureRecognizer 用于在 xcode 中缩放和平移图像(看起来有点矫枉过正,对我来说太复杂了,我不确定这是否真的有助于我的情况)
如何使用滚动视图实现自然捏合,我做错了什么?
谢谢,坎。
objective-c - 仅使用捏合手势增加高度或宽度
我的代码如下:
}
但问题是,当我执行 Zoomin 或 Zoomout 时,查看分布在整个屏幕上,禁用后请查看我的代码并告诉我出了什么问题。
请在这个问题上帮助我,我提前表示感谢。
iphone - iOS:用捏合缩放 UITextView?
我有兴趣创建UITextView
在键入文本时动态扩展的内容,并在用户捏住屏幕时进行缩放(在 TinyPost 中可以找到类似的行为)。
当您只需键入(不捏)时,textView 会很好地展开。当你只是捏(不打字)时工作正常,但是当你捏然后打字时,里面的文字会被剪掉。
这是我的代码:
你怎么看?
ios - UIPinchGestureRecognizer 选择器未在 UIImageView 上被调用
几个小时以来,我一直试图弄清楚这一点,在这里完全不知所措。我正在尝试为UIPinchGestureRecognizer
我的游戏中的一些自定义 UIImageViews 实现一个,但它不起作用。我研究过的所有东西都说它应该有效,但它没有。如果我将它添加到我的视图控制器或自定义 UIView,而不是 UIImageViews,则 Pinch 可以正常工作。我已经尝试了所有常见的修复和调整,但没有成功。我有userInteractionEnabled
并multipleTouchEnabled
设置为YES。我已经正确设置了委托和选择器。我已shouldRecognizeSimultaneouslyWithGestureRecognizer
设置返回 YES。
手势识别器被添加到 UIImageView 中,稍后我可以在更新循环中访问它的属性,但是当我尝试捏合时,选择器中的 NSLog 永远不会被 UIImageView 调用。我已经调整了视图的 z 位置以确保它们在顶部但没有骰子。
我的 UIImageViews 存储在 NSMutableDictionary 中,并在游戏的每个更新循环期间通过循环进行更新。这会对不调用 UIPinchGestureRecognizer 产生影响吗?...我想不出其他任何东西,发布代码可能无济于事 - 因为相同的代码在用于 UIView 或视图控制器时有效。
我在视图控制器的 touchesBegan 和 touchMoved 事件中确实有触摸处理代码......但我已经关闭了它,但问题仍然存在,并且无论如何,捏对其他元素都有效。
有什么想法可以阻止手势选择器在 UIImageView 上触发?词典?与在游戏循环中不断更新有关吗?欢迎任何想法,这似乎很容易实现......
编辑:这是 UIImageView 的代码以及我正在用它做什么......不确定这是否有帮助。
扩展 UIImageView 类 Paper.m(prp 是struct
用于初始化我的自定义变量的属性之一:
然后我有一个名为 ObjManager 的自定义类,它包含 NSMutableDictionary 并像这样初始化所有 UIImageView 对象,其中在循环中调用 addObj 以添加每个对象:
我的视图控制器调用 ObjManager 的初始化(在我的 VC 中称为 _world)。然后它像这样循环遍历 _world:
_eachPiece 是我的视图控制器中的一个对象,在 .h 文件中声明(与 _world 一样):
然后我有一个 NSTimer 对象,它每帧更新 _world (ObjManager) 中的所有可移动 Paper 对象(UIImageViews),如下所示:
和捏选择器:
据我所知,捏应该起作用。如果我采用相同的捏合手势代码并将其设置为添加到视图控制器,它适用于整个视图。我还有一个自定义 UIView 类,它充当边框(只是在视图周围绘制一个矩形),并将捏合手势代码移动到该类允许我只捏合边框。
ios - iOS UIPinchGestureRecognizer 在 UIGestureRecognizerStateEnded 状态下与未知源发生偏移
我有一个带有自定义 drawRect() 方法的 UIView,用于一些绘图。
我使用 UIPinchGestureRecognizer 来实现缩放效果。
这是动作方法:
收到UIGestureRecognizerStateEnded
消息时,我得到一些奇怪的坐标偏移:
...和免费翻译:) 我不需要。我不知道翻译从何而来。
如何禁用此翻译?
objective-c - 如何使用捏缩放(UIPinchGestureRecognizer)来改变 UIView 的宽度
我可以让UIPinchGestureRecognizer
处理程序使用缩放对象,但我不想缩放我想更改大小。例如,我有一个UIView
并且我已经攻击了一个UIPinchGestureRecognizer
手势,如果用户捏我想改变宽度UIView
以匹配捏。我不想缩放它所以UIView
更大(缩放)
ios - 三指捏合手势
我在尝试实现 3 指捏合时遇到了一些问题。
我一直在单独使用 2 指捏和 2 指旋转!(不需要或想要同时手势)问题是很多时候,系统识别出错误的动作,因为它们非常相似,所以我最终不得不移开手指并再次按下以尝试让系统识别旋转(通常它首先识别夹点)
我进行了很多搜索以查看是否有delayBegin
帮助,或者我是否可以做一些激活同时手势的操作,但没有一个可以正常工作,所以我的想法是不要使用 2 个手指捏,我可以使用 3 个(因为它更容易捏比旋转)。
问题是,如您所知,Pinch 仅适用于 2 个手指。所以我决定我可以子类化UIPinchGestureReconizer
并只允许它在屏幕上有 3 个手指时工作。其余的它可以像标准捏合一样工作,即使忽略无名指(计算比例)但确保无名指仍在屏幕上。
所以我为我的ThreeFingerPinchRecognizer
(那个子类UIPinchGestureRecognizer
)尝试了以下实现
因此,如您所见,我正在尝试获得与 2 指捏持相同的功能(通过仅调用[super]
函数,并且在touchesBegan
andtouchesMoved
函数中,我正在测试屏幕上是否有 3 个手指(通过查看event.alltouches.count
)
有了这个,两根手指的旋转效果很好,但是捏的效果不是很好,很难激活它,当它激活时,它不能像两指捏一样工作......
我知道我可能做错了,所以任何帮助都会很棒!
非常感谢!