iphone - UIView 背景颜色影响 iOS 5 中的触摸

标签 iphone objective-c ipad uiview uikit

我有一个在 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/

相关文章:

iphone - [MyClass alloc] 和 [[self class] alloc] 之间的区别在哪里?

删除 Main.storyboard 后 iOS 应用程序崩溃

ios - 我需要澄清一下我是否应该(可以?)解除分配与 View 相关的 UI 元素

ios - 如何在不发布App的情况下在App Store中打开我的App进行更新

iphone - Storyboard连续交叉溶解?

iphone - 将视频保存在创建的相册中

iphone - 自定义 UILabel 创建以避免本地化问题

iphone - 为什么我的 ViewController 仅在第二次调用后释放,iOS ARC?

ios - 以编程方式返回到不同 Storyboard 中的先前 ViewController

iphone - 如何扩大UIGestureRecognizer的点击区域?