UIView的背景颜色影响到触摸iOS 5中(UIView background color aff

2019-06-25 11:17发布

我与子类的触摸响应的客户视图,在iOS版4.工作在iOS 5,这在触摸时都沿着视线的底边感动, 如果视图的背景色设置为不回应clearColor

我一直无法追踪下来,但没有人知道,如果iOS 5中改变视图的方式依赖于一个透明的背景触摸反应?

我可不会更改比背景色设置为任何不透明的颜色像其他代码orangeColor充分响应的看法。

注意这个问题的看法,不影响其他地方接触; 仅沿着底部边缘,下面的任何位置的最后一个子视图添加到视图; 大概一个明确的背景被视为好像在看一个没有内容的视图的区域时,认为没有为触摸而存在。 改变颜色,认为有“内容”和润色工作!

Answer 1:

而不是使用[UIColor clearColor]请尝试使用这样的:

[view setBackgroundColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:0.1]];

UIView不会响应触摸事件时, alpha低于任何0.1[UIColor clearColor]设置了一个alpha0.0 ,这样你就不会得到触摸事件。 按照上面的方法,你可以得到一个透明的视图触摸事件。



Answer 2:

万一别人运行到这个问题,并希望不是设置为背景部分的不透明度更好的解决方案,可以将视图的设置opaque属性为NO ,然后添加一个空drawRect:方法。 (测试和iOS8上工作,β4)



文章来源: UIView background color affects touches in iOS 5