相关疑难解决方法(0)

如何将UIView中的触摸传递给UIScrollView

类似于这个线程和许多其他线程,我有一个带有NIB文件的视图控制器,它具有这种布局......

  • 一个.UIView(480 x 320) - 存储背景图像
  • 湾 UIScrollView(480 x 220) - 是一个关卡选择器scrollview
  • C.UIView(480 x 320) - 包含前景动画图形

上面的所有三个项目都是NIB中主视图的子视图.UIView(c)是iPhone屏幕的完整大小,位于层次结构之上.在它上面,我放置了一个基于该视图中当前触摸位置动画的角色.然而问题是,在这个视图接收触摸时,我无法触及它下面的ScrollView(b).我仍然需要使用(c)中的触摸,但还需要将相关的触摸/滑动传递到下面的UIScrollView.

任何人都可以建议如何做到这一点?我已经阅读了有关使用hittest的各种帖子,但不想完全抵消这些触摸,我只需要转发它们,以便滚动视图仍能正常工作.

谢谢,

iphone objective-c uiscrollview uiview

5
推荐指数
1
解决办法
3861
查看次数

禁止UIScrollView捕获子视图

UIScrollView有一种习惯UIView,它绝对需要倾听他内心发生的所有触摸事件.

起初,我得到的只是touchesBegan:touchesCancelled:事件.不touchesMoved:,不touchesEnded:.事实上,所有拖动手势都被上面取消了UIScrollView.这通过以下设置解决:

_scrollView.canCancelContentTouches = NO;
Run Code Online (Sandbox Code Playgroud)

现在,行为会根据UIView上第一次触摸的"时间长度"而变化.如果它很短,则管理相对拖动,因为它是一个滚动UIScrollView.如果它很长,那么我将在touchesMoved:UIView中获取事件.

我想要的是永远收到touchesMoved:我的UIView.我该怎么做?

iphone cocoa-touch objective-c uiscrollview ipad

3
推荐指数
1
解决办法
1855
查看次数

标签 统计

iphone ×2

objective-c ×2

uiscrollview ×2

cocoa-touch ×1

ipad ×1

uiview ×1