//加上UICollectionView的代理
final class V2: UIViewController,UICollectionViewDelegate,UICollectionViewDataSource {
private var collectionView: UICollectionView?
private var array: [Int] = []
override func viewDidLoad() {
super.viewDidLoad()
let flowlayout = UICollectionViewFlowLayout()
//滚动方向
flowlayout.scrollDirection = .Vertical
flowlayout.itemSize = CGSize(width: UIScreen.mainScreen().bounds.width / 4, height: UIScreen.mainScreen().bounds.width / 4)
flowlayout.sectionInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
//列间距
flowlayout.minimumInteritemSpacing = 0.0;
//行间距
flowlayout.minimumLineSpacing = 0.0;
collectionView = UICollectionView(frame: view.bounds, collectionViewLayout: flowlayout)
for i in 0...3300 {
array.append(i)
}
// 设置代理
collectionView?.delegate = self
collectionView?.dataSource = self
// 注册
collectionView?.registerClass(CollectionViewCell.self, forCellWithReuseIdentifier: "cell")
if let collectionView = collectionView {
collectionView.backgroundColor = UIColor.whiteColor()
view.addSubview(collectionView)
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
// MARK: - UICollectionViewDelegate
//cell的size
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
return CGSize(width: (UIScreen.mainScreen().bounds.width - 10) / 4, height: (UIScreen.mainScreen().bounds.width - 10) / 4 + 20)
}
//选中哪行
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
print(indexPath.row)
}
func collectionView(collectionView: UICollectionView, moveItemAtIndexPath sourceIndexPath: NSIndexPath, toIndexPath destinationIndexPath: NSIndexPath) {
let temp = array.removeAtIndex(sourceIndexPath.item)
array.insert(temp, atIndex: destinationIndexPath.item)
}
// MARK: - UICollectionViewDataSource
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return array.count
}
func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
return 1
}
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let id = "cell"
let cell: CollectionViewCell = collectionView.dequeueReusableCellWithReuseIdentifier(id, forIndexPath: indexPath) as! CollectionViewCell
cell.sizeToFit()
//添加圆角图片
cell.imageView?.image = UIImage(named: "image_1459912123.971836.jpg")
cell.imageView?.layer.masksToBounds = true
cell.imageView?.layer.cornerRadius = 30.0
cell.text?.text = "\(array[indexPath.row])"
return cell
}
}
UICollectionView的基本用法,下次用直接过来复制.