【问题标题】:Touch event missing when pushing new view推送新视图时缺少触摸事件
【发布时间】:2010-04-08 08:41:01
【问题描述】:

我是 iPhone 编程新手。目前,我正试图识别一种持续的触摸。例如,我希望用户将手指放在整个应用程序的屏幕上。

我使用一个包含不同视图的导航控制器。如果用户现在在 view1 中触摸屏幕,然后通过将其推入堆栈(使用 pushviewcontroller)将视图更改为 view2,并且仍然触摸屏幕,则 view2 不会识别任何触摸事件。如果用户随后松开他的手指(无触摸事件)并再次触摸屏幕,则所有事件都会被识别。这是一个错误还是我做错了什么?

我还没有找到任何答案。有人可以帮我吗?

【问题讨论】:

    标签: iphone navigationcontroller touches


    【解决方案1】:

    这是预期的行为。触摸是按视图处理的。

    如果不覆盖透明视图来处理触摸,则无法使用导航控制器更改视图。

    如果您确实覆盖了一个透明视图来处理触摸,那么下面的其他视图将不会接收触摸事件,除非您通过使用一些复杂的过程来传播它们。

    【讨论】:

    • 好的,非常感谢您的快速答复。我已经尝试过了,但是 alpha 的值必须至少为 0.02 才能识别触摸,对吗?或者是否有可能制作一个真正透明的视图?
    • 您可以将视图的背景颜色设置为[UIColor clearColor],并将视图的opaque属性设置为NO。这将给出一个完全透明的视图外观,但仍将 alpha 设置为 1.0 以保留触摸。
    猜你喜欢
    • 2023-04-03
    • 2012-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-21
    相关资源
    最近更新 更多