UITableView横向无响应区域

Posted

技术标签:

【中文标题】UITableView横向无响应区域【英文标题】:Unresponsive area in UITableView in landscape orientation 【发布时间】:2013-03-09 15:51:28 【问题描述】:

我正在开发一个 iPad 应用程序,其中我有一个 UITableView 的屏幕托管在 UIScrollView 上。 UITableView 的前导空格和尾随空格被固定到 superview。

我在我的项目中使用自动布局。

当此屏幕以横向模式出现或旋转到它时,UITableView 的所有可见元素都被正确调整大小。但是 x=768pt 之后的区域是不可触及的。这绝对是一个区域,因为可编辑元素(文本视图和文本字段)的开头是可触摸的。 我检查了 table 的 contentSize,它没问题(在我的情况下是 1024)。 此外,当我将 iPad 从横向旋转到纵向时,表格的 contentSize 仍然保持横向(1024)。我尝试了这个主题的解决方案:bug in UITableView layout after orientation change,它奏效了。不知道这是否与我的问题有关。

我尝试放置常规视图而不是我的 UITableView。在这个视图上旋转后触摸区域没问题。但是,当我将桌子放在此视图右侧区域时,仍然没有响应。

Table 的属性 clipsToBounds 设置为 YES,因此内容似乎没有超出 UITableView。

请指出可能导致此问题的原因。现在我完全不知道是什么原因造成的。

【问题讨论】:

【参考方案1】:

我找到了解决方案。问题出在我的自定义单元格中的覆盖方法 -(void)layoutSubviews 中。我只是忘了在里面调用[super layoutSubviews]。

永远不要忘记在任何非标准视图中调用 [super layoutSubviews]。

希望我的解决方案能帮助人们不要在简单的问题上浪费时间。

【讨论】:

以上是关于UITableView横向无响应区域的主要内容,如果未能解决你的问题,请参考以下文章

表格在纵向模式和横向模式之间切换的问题

旋转的 UIView 变得无响应

UITableView 不响应透明区域的触摸

处理 UItableView 中 UItextfield 的委托

在弹出窗口的标签栏中取消导航控制器中的 UITableView 搜索后,UINavigationBar 无响应

不调用UITableView Delegate