Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.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 使用未解析标识符';UICollection&x27;在单独的UICollection类中_Ios_Swift_Xcode_Uicollectionview - Fatal编程技术网

Ios 使用未解析标识符';UICollection&x27;在单独的UICollection类中

Ios 使用未解析标识符';UICollection&x27;在单独的UICollection类中,ios,swift,xcode,uicollectionview,Ios,Swift,Xcode,Uicollectionview,我有一节课,我将在上面的菜单视图上学习 代码如下: import UIKit class TopHomeMenuBar: UIView { let collectionView: UICollectionView = { let layout = UICollectionViewFlowLayout() let cv = UICollectionView(frame: .zero, collectionViewLayout: layout) return cv }(

我有一节课,我将在上面的菜单视图上学习

代码如下:

import UIKit

class TopHomeMenuBar: UIView {

let collectionView: UICollectionView = {

    let layout = UICollectionViewFlowLayout()
    let cv = UICollectionView(frame: .zero, collectionViewLayout: layout)
    return cv
}()

override init(frame: CGRect) {
    super.init(frame: frame)

    addSubview(collectionView)

    backgroundColor = UIColor.systemGreen
}

required init?(coder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
}
}
然而,我不断得到错误:

使用未解析标识符“UICollection”

此代码行中突出显示UICollectionView时出错:

    let collectionView: UICollectionView = {
它确实有效

刚刚在XCODE中创建了一个简单的SinlgerView项目 我放置的I控制器(仅用于测试..通常视图有自己的文件..)

这样试试

private var collectionLayout = UICollectionViewFlowLayout()

lazy var collectionView: UICollectionView = {
    UICollectionView(frame: .zero, collectionViewLayout: collectionLayout)
}()
然后在
布局子视图中
根据需要设置流程布局

override func layoutSubviews() {
    super.layoutSubviews()

    collectionLayout.sectionInset = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)
    collectionLayout.minimumLineSpacing = 0
    collectionLayout.itemSize = CGSize(width: (frame.width - 20) / 5, height: frame.height - 24)
    collectionLayout.scrollDirection = .horizontal
}
override func layoutSubviews() {
    super.layoutSubviews()

    collectionLayout.sectionInset = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)
    collectionLayout.minimumLineSpacing = 0
    collectionLayout.itemSize = CGSize(width: (frame.width - 20) / 5, height: frame.height - 24)
    collectionLayout.scrollDirection = .horizontal
}