我正在开发一个iPad应用程序,我在UIScrollView上有一个带有UITableView的屏幕。 UITableView的领先空间和尾随空间被固定在superview上。
我在项目中使用Autolayout。
当此屏幕以横向模式显示或旋转到该屏幕时,UITableView的所有可见元素都会正确调整大小。然而,在x = 768pt之后的区域是不可触及的。这绝对是区域,因为可编辑元素(文本视图和文本字段)的开头是可触摸的。 我检查了表格的contentSize,它没问题(在我的情况下为1024)。 此外,当我将iPad从横向旋转到肖像内容时,桌面大小仍保持横向(1024)。我尝试了这个主题的解决方案:bug in UITableView layout after orientation change并且它有效。不知道这是否与我的问题有关。
我试图放置常规视图而不是我的UITableView。旋转后的这个视图触摸区域就可以了。然而,当我把桌子摆放在这个视图上时,右侧区域仍然没有响应。
表的属性clipsToBounds设置为YES,因此看起来内容不在UITableView之外。
请指出可能导致此问题的原因。现在,我完全没有想到可能导致这种情况的想法。
答案 0 :(得分:2)
我找到了解决方案。问题出在我的自定义单元格中的重写方法 - (void)layoutSubviews中。我只是忘了在里面调用[super layoutSubviews]。
永远不要忘记在任何非标准视图中调用[super layoutSubviews]。
希望我的解决方案可以帮助别人在简单的问题上浪费时间。