gpt4 book ai didi

ios - 可以忽略 UIImageViews 透明部分的平移手势吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:20:11 25 4
gpt4 key购买 nike

我正在开发一款允许用户将图形堆叠在一起的应用。

图形被实例化为 UIImageView,并且在实际图形之外是透明的。我还使用平移手势让用户在屏幕上拖动它们。

所以当你有一堆不同大小和形状的图形相互叠加时,你可能会有一种错觉,你正在触摸一个子索引 View ,但实际上你触摸的是顶部 View ,因为一些透明部分它悬停在您的触摸点上。

我想知道是否有人对我们如何只听 ImageView 实体部分的平移手势有任何想法。或者可以加强用户体验的东西,这样他们触摸的东西就是他们选择的东西。谢谢

最佳答案

创建您自己的 UIImageView 子类。在您的子类中,覆盖 pointInside:withEvent: 方法以在该点位于图像的透明部分时返回 NO。

当然,你需要判断一个点是否在透明部分。 :)

如果您碰巧有一个 CGPathUIBezierPath 勾勒出图像的不透明部分,您可以使用 CGPathContainsPoint-[UIBezierPath containsPoint:].

如果您没有方便的路径,则必须检查图像的像素数据。 stackoverflow.com 上已经有很多答案解释了如何做到这一点。搜索 get pixel CGImageget pixel UIImage

关于ios - 可以忽略 UIImageViews 透明部分的平移手势吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8959435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com