【问题标题】:UICollectionView scrollview has margin from top and bottomUICollectionView 滚动视图从顶部和底部有边距
【发布时间】:2014-06-05 10:19:09
【问题描述】:

UICollectionView 中的滚动指示器从顶部的一些点之后开始,在底部的许多点之前结束。我的意思是它有来自UICollectionView 的顶部和底部的顶部和底部边距。

不应该是从UICollectionView的顶部开始到底部结束吗?

我检查了UICollectionView 上的contentInset.topUICollectionViewFlowLayout 上的sectionInset.top 分别是20.00.0

见下图。内容从顶部超过20.0pts(即顶部插入值)开始。

【问题讨论】:

  • 你检查过scrollIndicatorInsets吗?
  • @friedegg-bacon-sandwich 它也打印0.0
  • @friedegg-bacon-sandwich 实际上是64.0。我得到0.0 因为我正在登录viewWillAppear: 方法。

标签: ios objective-c ios7 uicollectionview uicollectionviewlayout


【解决方案1】:

我通过将以下属性的值设置为UIEdgeInsetsZero 来解决,

// Set contentInset and scrollIndicatorInset to UIEdgeInsetsZero.
self.tournamentCollection.contentInset = UIEdgeInsetsZero;
self.tournamentCollection.scrollIndicatorInsets = UIEdgeInsetsZero;

contentInset.topscrollIndicatorInsets.top 的值为 64.0bottom 也是如此。它导致内容从顶部开始64.0 pts。

请注意,您应该仅在执行布局传递后检查上述属性的值,否则您可能会得到0.0 作为值。我就是这种情况。您应该签入viewDidLayoutSubview: 方法。

【讨论】:

  • 很高兴您找到了解决方案。不要忘记也将其标记为答案。
【解决方案2】:

半透明状态栏的问题,在你的情况下还有导航栏

如果您的 collectionView 在向其渲染时从导航栏下方开始,则会将价值添加到物理屏幕的顶部 (64)

在它的项目中,我遇到了一个奇怪的情况。 导航栏关闭半透明,但一旦我将其隐藏在其中一个屏幕中,然后添加到 collectionView 魔术 20 像素。是的,是的,这是一个半透明的状态栏 不得不听取意见极客

【讨论】:

  • 我给了你一票,因为你首先展示了导致这种神秘偏移发生的原因。谢谢!
【解决方案3】:

以@kolbasek 的回答为基础,other question's answer 展示了如何在 Storyboard 编辑器中更正它(“...选择 ViewController,然后取消选中“调整滚动视图插图””)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-15
    相关资源
    最近更新 更多