uicollectionview remove top padding

后端 未结 5 2016
滥情空心
滥情空心 2020-11-30 14:52

I have a UICollectionView that is the entire view but it lives inside \"view\" (it is not UICollectionViewController). Adding a cell to this collection view shows it in the

相关标签:
5条回答
  • 2020-11-30 15:38

    You can fix top padding issue by considering one of the following method.

    Method 1: Natural way to fix your problem by setting up your collectionView dimensions properly from StoryBoard.

    Method 2: **Updated**

    You can validate collection frame in viewDidLayoutSubviews or viewWillLayoutSubviews

      override func viewDidLayoutSubviews() {
         collectionView.frame = CGRect(x: 0, y: 0, width: view.frame.width, height: view.frame.height)
    }
    

    Method 3: You can Adjust Scroll View Insets from your StoryBoard Attributes Inspector.

    Method 4: You can fix this issue programatically by adjusting CollectionView contentInset.

    collectionView.contentInset = UIEdgeInsets(top: **Any Value**, left: 0, bottom: 0, right: 0)
    

    Output with top padding 5:

    Output with top padding 44:

    Output with top padding 64:

    0 讨论(0)
  • 2020-11-30 15:39

    I also had the same problem, and i fixed it with a way totally ridiculous solution.

    My collectionView contained several sections which had no title & no item cells.

    The top, bottom inset values of the section insets were 10 respectively. so each empty section charged height of 20 pixels.

    I had 4 empty sections, and therefore, 80 top margins in the collection view.

    Hope you check this as well if none of the above solutions works.

    0 讨论(0)
  • 2020-11-30 15:42

    I think because this viewController is embedded in a navigationController. Let select this viewController in the storyboard and uncheck Adjust Scroll View Insets:

    0 讨论(0)
  • 2020-11-30 15:49

    Make your Navigation Controller > NavigationBar translucent by unchecking the Translucent check box in IB > Attribute Inspector, and it will work.

    0 讨论(0)
  • 2020-11-30 15:50

    There is one more way to resolve this issue and that is selecting collectionView -> scrollView Content Insets -> "Automatic" to "Never".

    By default scrollView Content Insets value is Automatic. Please check the below image.

    For more details check: UIScrollView.ContentInsetAdjustmentBehavior

    https://developer.apple.com/documentation/uikit/uiscrollview/2902261-contentinsetadjustmentbehavior

    0 讨论(0)
提交回复
热议问题