我有一个在 iOS 4 中工作的带有子类触摸响应的自定义 View 。在 iOS 5 上,当沿着 View 的底部边缘触摸时,这些触摸根本不会响应,如果 View 的背景颜色设置为 clearColor
。
我无法追踪到这一点,但有谁知道 iOS 5 是否改变了 View 根据透明背景响应触摸的方式?
除了将背景颜色设置为任何不透明颜色(如 orangeColor
)并且 View 完全响应之外,我无法对代码进行任何更改。
请注意,该问题不会影响 View 中其他地方的触摸;仅沿着底部边缘,在添加到 View 的最后一个 subview 下方的任何位置;当查看没有内容的 View 区域时,可能会为了触摸而将清晰的背景视为 View 不存在。更改颜色, View 具有“内容”并且触摸有效!
最佳答案
不要使用 [UIColor clearColor]
,尝试使用这个:
[view setBackgroundColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:0.1]];
注意:当 alpha
低于 0.1
时,UIView
不会响应触摸事件。 [UIColor clearColor]
将 alpha
设置为 0.0
,因此您不会获得触摸事件。按照上面的方法,你可以在透明 View 上接收到触摸事件。
关于iphone - UIView 背景颜色影响 iOS 5 中的触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11011974/