2012-11-13 51 views
0

我有一个视图控制器,其中我编程创建了一个视图,其中包含几个按钮以充当各种菜单。这个视图是用屏幕外的坐标初始化的(例如y的原点为-100)。如果我调整视图的y原点(使用动画),视图可以很好地滑动,我可以触摸按钮并让它们按照我的意愿进行操作。但是,如果我调整视图控制器视图框的y原点,视图中的按钮将不再识别该触摸。我发现通过调整视图控制器的视图框架原点而不是视图的原点,我可以获得整个屏幕滑动的效果,以显示菜单而不是菜单滑动到位,它几乎将其拉下。但菜单不再起作用。UIButton没有收到触摸事件

有人对此有所了解吗?

+1

谢谢,现在我知道,我会继续保持最佳状态。 – r0ddy

+0

如果你的菜单超出了超视界的范围,它不会检测到触摸。确保父母的视图也在屏幕中,当你触摸时,没有任何视图的框架设置为负值。 – iDev

+0

通过调整视图控制器的视图框y原点为100(如果我的菜单视图已初始化为-100),它将菜单拉入视图,所以菜单现在位于y坐标0处。或者,实际上不是除非我专门调整菜单视图的坐标吗? – r0ddy

回答

1

我很久以前就有过这个问题。我记得我有一个视图控制器,其大小为800x800点,坐标600,600处的可见视图之外有一个按钮。我为控制器设置动画,以便在屏幕上显示按钮。触摸按钮被忽略。 基本上,除了superview的320x480界限之外的任何东西,触摸都会被忽略,尽管将视图控制器设置到位。

+0

我们的问题是相似的,但不完全相同。如果我将菜单视图制作成动画,它对我来说工作正常。但是,如果我为视图控制器的视图设置动画以向下移动屏幕,这似乎也拉下菜单视图,那么它不会。就好像我没有专门将这个视图放到位置,它也不会收到触摸事件。 – r0ddy