【问题标题】:UIScrollView touches don't seem to workUIScrollView 触摸似乎不起作用
【发布时间】:2009-02-27 17:29:53
【问题描述】:

我在 Xcode 中为一个 iPhone 项目使用了“基于视图的应用程序”模板,并进入了视图控制器的 XIB。

我将视图从基本的UIView 更改为UIScrollView,现在是方法

(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;

永远不会被调用。我在那里有一个NSLog 声明。当控制器的视图是UIView 时,它会被很好地调用,那么UIScrollViews 有什么不同/特别之处在于您没有收到触摸事件?如何响应触摸事件?

【问题讨论】:

    标签: iphone objective-c uiscrollview


    【解决方案1】:

    UIScrollView 不会传递所有的触摸事件。它这样做是因为它试图自己解释滑动和滚动手势。

    查看此线程:http://discussions.apple.com/thread.jspa?messageID=7519817 以了解 UIScrollView 和事件。底线是您可以在视图的-(void)touchesEnded:(NSSet *)aTouches withEvent:(UIEvent *)anEvent 中处理事件,但这并不简单。

    我个人看到 UIScollView 对命中测试子视图的影响有些古怪。

    【讨论】:

      【解决方案2】:

      我在这里没有任何直接经验,但我昨天正在查看可能解释这一点的文档。我想您会发现UIScrollView 会捕获触摸以处理其滚动。在文档窗口中查看delaysContentTouches

      【讨论】:

        【解决方案3】:

        只需使用自定义内容子视图,然后在该视图中实现 touchesEnded:withEvent:。你会得到所有你想要的水龙头!

        【讨论】:

          猜你喜欢
          • 2017-05-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-11-24
          • 2013-03-10
          • 2014-09-07
          • 2023-03-06
          • 1970-01-01
          相关资源
          最近更新 更多