UITableView 跟踪触摸错误的轴
Posted
技术标签:
【中文标题】UITableView 跟踪触摸错误的轴【英文标题】:UITableView tracking touches on wrong axis 【发布时间】:2012-02-13 22:57:55 【问题描述】:我有一个 uitableview 控制器,它是由 uiviewcontroller 管理的视图的子视图。没有什么特别的,但 tableview 跟踪错误轴上的手势(仅在设备上)。
基本上你向上/向下滚动表格不会做任何事情,而向左/向右滚动表格向上/向下。它超级奇怪。我希望有人以前见过这个,也许知道是什么原因造成的?
编辑:这是一个视频 http://c.drunknbass.com/EB7m
最后,我正在滚动一个正常滚动的 uiscrollview,它是同一个 uiviewcontroller.view 的子项
【问题讨论】:
邮政编码或截图。你在做任何CGTransform
s 吗?
以前肯定见过,不知道我是怎么解决的,但它是微不足道的。大胆猜测:你所有的视图控制器都实现了shouldAutoRotateToInterfaceOrientation:
吗?
没有变换,是的,控制器全部旋转,桌子上事件的手势轴在任一方向上都是向后的。
【参考方案1】:
UIKit 依赖于一个关键窗口,并且该窗口具有一个根视图控制器,以便能够正确处理事件并将它们转发给您的代码。我怀疑您的应用程序中可能没有正确设置其中之一。 (这样设备方向与 UI 的视觉方向不匹配。)
还要注意,在 ios 5 之前,UIKit 并不真正支持让一个控制器的视图成为另一个控制器的子视图。它可以完成,并且大部分都有效,但是您将不得不管理所有生命周期事件的转发。 (参见文档中的the notes on controller containment,以及-automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers
的描述。)
【讨论】:
应用有一个rootviewcontroller。 vc 栈实际上是 uiwindow->uinavigationcontroller->uiviewcontroller,视图是 uiviewcontroller.view->container->uitableview。表面上看起来一切正常。以上是关于UITableView 跟踪触摸错误的轴的主要内容,如果未能解决你的问题,请参考以下文章