我已经使用收藏夹视图构建了自定义日历。我的问题是,当我添加UICollectionViewFlowLayout
时,它会覆盖整个屏幕,而不会停留在UICollectionView
内。如何使UICollectionViewFlowLayout
保留在UICollectionView
内?这是我的代码:
let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
layout.sectionInset = UIEdgeInsets(top: 100, left: 10, bottom: 1, right: 10)
let width = UIScreen.mainScreen().bounds.width
layout.itemSize = CGSize(width: width/10, height: 35)
collectionView = UICollectionView(frame: self.view.frame, collectionViewLayout: layout)
collectionView!.dataSource = self
collectionView!.delegate = self
collectionView!.registerClass(CollectionViewCell.self, forCellWithReuseIdentifier: "CollectionViewCell")
collectionView!.backgroundColor = UIColor.whiteColor()
self.view.addSubview(collectionView!)
我希望日历在哪里:
这是它覆盖整个屏幕的方式:
最佳答案
这行:
collectionView = UICollectionView(frame: self.view.frame, collectionViewLayout: layout)
正在创建UICollectionView的新实例,并将其框架设置为与
self.view
相同(因此它覆盖了整个屏幕)。我怀疑您实际上是想使用在情节提要中建立的现有集合视图实例(可能正在显示-但在新实例的后面!)。检查您的情节提要,以查看CollectionView是否已连接到视图控制器的collectionView属性:如果是这样,您可以只注释掉上面的行(可能也注释掉后面的两行),因为链接将在实例化视图控制器时建立。
如果您没有情节提要实例,则只需修改框架以适合所需的位置和大小,而不要使用
self.view.frame
。