如何删除uicollectionview顶部填充Swift 4 iOS 11?

时间:2018-08-06 10:47:45

标签: ios swift uicollectionview

我从堆栈溢出尝试了很多答案。但是对于iOS 11,我没有得到相关的答案。您可以注意到,UICollectionview中的空间最大。请帮助我解决此问题。

屏幕快捷方式:

Result

StoryBoard

我尝试过的事情:

1) self.automaticallyAdjustsScrollViewInsets = false

此版本在iOS 11中已弃用

2) Uncheck "Adjust Scroll View insets"

3) This link

4 个答案:

答案 0 :(得分:1)

;WITH CTE AS (select itemCode, (select SUM(ItemAmount) where Counter = 'Counter-1') as 'Count 1 Result', (select MAX(Counter) where Counter = 'COUNTER-1') as 'Count Is 1', (select SUM(ItemAmount) where Counter = 'Counter-2') as 'Count 2 Result', (select MAX(Counter) where Counter = 'COUNTER-2') as 'Count Is 2' from My_table GROUP BY itemCode,Counter ) Select RANK()OVER ( ORDER BY itemcode)Id, itemCode, MAX([Count 1 Result])[Count 1 Result], MAX([Count Is 1])[Count Is 1], MAX([Count 2 Result])[Count 2 Result], MAX([Count Is 2])[Count Is 2] from CTE GROUP BY itemCode 在iOS 11中已过时。尝试为iOS 11设置automaticallyAdjustsScrollViewInsets

contentInsetAdjustmentBehavior

答案 1 :(得分:1)

我在Xcode 11中遇到了同样的问题。这是我的解决方案:

enter image description here

答案 2 :(得分:0)

好的

间距问题可能主要是部分原因是您在UIView中具有collectionView。顺便说一下,您应该仅使用1个集合视图,而只需要1个视图控制器。

1。

只需将集合视图放入第一个VC中,然后将UIView替换为collectionView。

2。

然后将另一个原型可重用单元拖到集合视图中。您可以在情节提要中的一个集合视图中包含多个自定义单元!将单元格1作为您的第一个自定义集合视图单元格类型,将单元格2作为您的第二个。当分段栏开关仅使用函数来更改重新加载collectionView时collectionView将显示的数据时,您可以更改UIViewViewDataDatasource方法中将显示集合视图的单元格和数组的类型。

遵循以下原则:

enum MediaTypes {
  case pictures
  case videos
 }

fileprivate var arrayToPresent: MediaTypes = .pictures

...

func segmentChanged(){
 switch self.segmentController.selectedIndex {
    case 1:
     self.arrayToPresent = .videos

    default:
     self.arrayToPresent = .pictures
  }

  //Logic to reload Collection View
}   

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
 switch self.arrayToPresent {
  case .pictures:
    let cell = collectionView.deq... as! PictureCollectionViewCell
     return cell

  case .videos:
    let cell = collectionView.deq... as! VideoCollectionViewCell
     return cell
  }
}

答案 3 :(得分:0)

尝试在您的edgesForExtendedLayout = []中添加viewDidLoad

以及;

if #available(iOS 11.0, *) {
        collectionView.contentInsetAdjustmentBehavior = .never
    } else {
        self.automaticallyAdjustsScrollViewInsets = false
    }