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
}