透明视图上的 UITapGestureRecognizer
Posted
技术标签:
【中文标题】透明视图上的 UITapGestureRecognizer【英文标题】:UITapGestureRecognizer on transparent view 【发布时间】:2011-05-15 18:00:16 【问题描述】:我有一棵树,其中***别的视图是透明的,并且包含图像或标签(具有透明背景)。
将 UITapGestureRecognizer 附加到此视图时,我只会收到有关包含图像的视图的通知。此外,如果我将视图留空,则仅当背景颜色不同于 [UIColor clearColor] 时才会收到事件.
我做了一个转储,整个视图树都有 userInteractionEnable = YES。
如何让 UITapGesturerRecognizer 在具有透明背景的视图上工作?
已解决 问题不是我想的那样。透明视图位于滚动视图中,并且在初始化期间它们位于视图的可见区域之外。可见区域内的工作正常。
【问题讨论】:
您能否提供更多详细信息或代码,我尝试将点击手势识别器附加到背景颜色设置为 clearColor 的视图上,它会响应点击。因此,更多信息可能会有所帮助。 @DeepakDanduprolu 告诉... 与发布的场景相同,UISwipeGestureRecognizer 并且它不会响应视图上的任何位置(使用 clearColor)除了有其他(兄弟)视图(不是clearColor)在它后面!是的,这是最好的 ios 随机性。 【参考方案1】:这里有点疯狂,但是如果您在视图中包含一个 1x1 像素的图像,那么该视图是否有资格使用手势? 另一个同样疯狂的猜测是在视图中添加一个透明图像并尝试一下。
【讨论】:
【参考方案2】:尝试为视图提供近乎透明的背景颜色,例如 [UIColor colorWithWhite:0 alpha:0.01]
。
【讨论】:
【参考方案3】:尝试将背景颜色设置为除了 clearColor 之外的任何颜色,并将 alpha 属性设置为 0.0;
myView.backgroundColor = [UIColor blackColor];
myView.alpha = 0.0;
【讨论】:
以上是关于透明视图上的 UITapGestureRecognizer的主要内容,如果未能解决你的问题,请参考以下文章
QGLWidget 上的透明 QGraphicsWebview 导致叠加图像
Mac 上的 SwiftUI:帮助文本即使在不透明度为零的视图中也始终可见