我从堆栈溢出尝试了很多答案。但是对于iOS 11,我没有得到相关的答案。您可以注意到,UICollectionview中的空间最大。请帮助我解决此问题。
屏幕快捷方式:
我尝试过的事情:
1) self.automaticallyAdjustsScrollViewInsets = false
此版本在iOS 11中已弃用
2) Uncheck "Adjust Scroll View insets"
3)
This link
答案 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)
答案 2 :(得分:0)
好的:
间距问题可能主要是部分原因是您在UIView中具有collectionView。顺便说一下,您应该仅使用1个集合视图,而只需要1个视图控制器。
只需将集合视图放入第一个VC中,然后将UIView替换为collectionView。
然后将另一个原型可重用单元拖到集合视图中。您可以在情节提要中的一个集合视图中包含多个自定义单元!将单元格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
}