iOS7 中 UIScrollView 中的 UITableView

Posted

技术标签:

【中文标题】iOS7 中 UIScrollView 中的 UITableView【英文标题】:UITableView in UIScrollView in iOS7 【发布时间】:2013-12-07 10:53:56 【问题描述】:

我正在做一个项目,它需要一个分页的scrollView,并且每个页面都包含一个tableView。我希望tableView 处理垂直滚动,而scrollView 处理水平滚动。

github上的一个测试项目:https://github.com/singro/Arc

它适用于 ios 6,但对于 iOS7,它仅适用于 viewController 不是从 navigationController 推送时。

我项目中的一些文件:

SCMainViewController.h
SCMainViewController.m
SCSubView1.h
SCSubView1.m
SCSubView2.h
SCSubView2.m
SCViewController.h
SCViewController.m

SCViewController 是 VC,它包含一个分页的 scrollView 并在每个页面上添加 SCSubView1SCSubView2

SCMainViewController 是对navigationController 的测试,带有tableView,点击单元格将推送到SCViewController

AppDelegate 中的两个测试用例:

SCViewController设置为窗口的rootViewController

另一个将navigationController 设置为窗口的rootViewController,而将SCMainViewController 设置为navigationControllerrootViewController

这是我的tableViewnavigationController 的意外行为:

【问题讨论】:

【参考方案1】:

通过添加弄清楚

self.edgesForExtendedLayout = UIRectEdgeNone;

到 SCViewController

苹果文档: https://developer.apple.com/library/ios/documentation/userexperience/conceptual/TransitionGuide/AppearanceCustomization.html

使用 edgesForExtendedLayout 来指定视图的哪些边缘应该被扩展,而不管条形半透明。默认情况下,该属性的值为 UIRectEdgeAll。

【讨论】:

以上是关于iOS7 中 UIScrollView 中的 UITableView的主要内容,如果未能解决你的问题,请参考以下文章

IOS7:UINavigationController 中的 UIScrollView 偏移

在 ios7 中的多个图像的 UIScrollview 中捏缩放不起作用

为啥我不能在 iOS 7.0 中的 UIScrollView 中滚动?

_adjustContentOffsetIfNecessary - UIScrollView 自动滚动到顶部

iOS7 UIPickerView / UIScrollView

UIScrollView 在 iOS7 上捏合时返回错误