ios - 嵌套的 UIScrollView 防止弹跳冒泡并允许在列表末尾进行父分页

标签 ios uiscrollview uicollectionview

我想在 iOS7 中重新创建与股票天气应用程序相同的行为。这是一个屏幕截图:

ios7 stock weather app

主屏幕是一个 UIScrollView,页面包含一个左右滚动的嵌套 UIScrollView。

我已经通过多种方式实现了这一点,但我并没有获得完全正确的体验。如果我只是做这样的事情:

| UIS ScrollView
| ---> UICollectionView

当我快速左右滑动时,它会导致父屏幕也弹跳,导致您看到下一页。我不想要这个。我曾尝试使用所有代表来尝试在 child 滚动时禁用父级,但这从来没有表现得很好并且感觉很笨拙。

然后我将 UICollection View 嵌套在另一个 UIScrollView 中,这样就停止了向上移动。但是,当 UICollectionView 最后稳定下来时,我应该能够向右滚动并为父 UIScrollView 分页。这不会发生。

我似乎能做的就是不跳回父节点或允许父节点在子节点位于两端时进行寻呼。我如何获得这两种行为?玩 iOS7 上的 iPhone 天气应用程序,你可以看到我想要什么。感谢您的指导或帮助。

最佳答案

将您的 scrollview 嵌套在另一个 bounces 设置为 no 的 scrollview 中。

Parent_scrollview
  container_scrollview->bounces no
    child_scrollview

ScrollView 的行为是,如果它弹跳,找到另一个在层次结构中更高的 ScrollView 并尝试滚动它。如果你放入一个不会弹跳的容器 scrollview,父级永远不会得到子级的弹跳请求。

关于ios - 嵌套的 UIScrollView 防止弹跳冒泡并允许在列表末尾进行父分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23122231/

相关文章:

ios - 如何使用包含多个导航 Controller 的 View 层次结构弹出到 Root View Controller

ios - 解析查询崩溃 (Swift)

ios - 单击时如何删除按钮的选定状态?

swift - 如何在 RxDataSource 中反射(reflect)新的部分到 UICollectionView?

ios - UICollectionView 为每个单元格使用不同类型的单元格

ios - 如何使用适用于 iOS 的 NSCoder、NSObject 和 Swift 3 解码 Double

iphone - 登录后自动重定向查看 - iOS

iOS 将 ScrollView 添加到现有 View

ios - 在 iOS 中应该使用什么 scrollview 和 imageview 设置来显示可缩放的图片?

ios - 如何使按下状态栏滚动到任何 UITableView 的顶部?