Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios CollectionView水平滚动约束问题_Ios_Swift_Xcode_Uitableview_Uicollectionview - Fatal编程技术网

Ios CollectionView水平滚动约束问题

Ios CollectionView水平滚动约束问题,ios,swift,xcode,uitableview,uicollectionview,Ios,Swift,Xcode,Uitableview,Uicollectionview,我有一个水平滚动的collectionView,而所有其他tableView单元格只垂直滚动。我在故事板中添加了限制,以调整大小并适应所有大小的屏幕。当我在iPhoneX模拟器上运行该项目时,它看起来非常完美。但一旦我尝试另一个大小,如7加,它会导致集合视图单元格变小,并显示下一个单元格。但是,tableview单元格保持正确的大小。我怎样才能防止这种情况 实现collectionView(uuu:layout:sizeForItemAt:)UICollectionViewDelegateFlo

我有一个水平滚动的collectionView,而所有其他tableView单元格只垂直滚动。我在故事板中添加了限制,以调整大小并适应所有大小的屏幕。当我在iPhoneX模拟器上运行该项目时,它看起来非常完美。但一旦我尝试另一个大小,如7加,它会导致集合视图单元格变小,并显示下一个单元格。但是,tableview单元格保持正确的大小。我怎样才能防止这种情况


实现
collectionView(uuu:layout:sizeForItemAt:)
UICollectionViewDelegateFlowLayout的方法

并返回单元格的正确大小,例如:

return CGSize(width: UIScreen.main.bounds.width, height: 100)
例如:

class ViewController: UIViewController, UICollectionViewDelegateFlowLayout {
    @IBOutlet private weak var collectionView: UICollectionView!

    override func viewDidLoad() {
        super.viewDidLoad()
        self.collectionView.delegate = self
    }

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
        return CGSize(width: UIScreen.main.bounds.width, height: 100)
    }
}

我做得对吗?因为我现在收到一些错误func collectionView(collectionView:UICollectionView,transitionLayoutForOldLayout-fromLayout:UICollectionViewLayout,newLayout-toLayout:UICollectionViewLayout)->UICollectionViewTransitionLayout{collectionView(UICollectionViewDelegateFlowLayout,layout:UICollectionViewLayout,sizeForItemAt:IndexPath)返回CGSize(宽度:UIScreen.main.bounds.width,高度:200)}添加了示例来回答