//
// ViewController.swift
// UIKit055_4.0
//
// Created by KimikoWatanabe on 2016/08/21.
// Copyright © 2016年 FaBo, Inc. All rights reserved.
//
import UIKit
class ViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource {
var myCollectionView : UICollectionView!
override func viewDidLoad() {
super.viewDidLoad()
// CollectionViewのレイアウトを生成.
let layout = UICollectionViewFlowLayout()
// Cell一つ一つの大きさ.
layout.itemSize = CGSize(width:50, height:50)
// Cellのマージン.
layout.sectionInset = UIEdgeInsets(top: 16, left: 16, bottom: 32, right: 16)
// セクション毎のヘッダーサイズ.
layout.headerReferenceSize = CGSize(width:100,height:50)
// CollectionViewを生成.
myCollectionView = UICollectionView(frame: self.view.frame, collectionViewLayout: layout)
// Cellに使われるクラスを登録.
myCollectionView.register(CustomUICollectionViewCell.self, forCellWithReuseIdentifier: "MyCell")
myCollectionView.register(UICollectionReusableView.self, forSupplementaryViewOfKind: UICollectionView.elementKindSectionHeader, withReuseIdentifier: "Section")
myCollectionView.delegate = self
myCollectionView.dataSource = self
self.view.addSubview(myCollectionView)
}
/*
Sectionの数
*/
internal func numberOfSections(in collectionView: UICollectionView) -> Int {
return 3
}
/*
Cellが選択された際に呼び出される
*/
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
print("Num: \(indexPath.row)")
print("SectionNum:\(indexPath.section)")
}
/*
Cellの総数を返す
*/
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
// Section毎にCellの総数を変える.
switch(section){
case 0:
return 5
case 1:
return 8
case 2:
return 20
default:
print("error")
return 0
}
}
/*
Sectionに値を設定する
*/
func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {
let headerView = collectionView.dequeueReusableSupplementaryView(ofKind: UICollectionView.elementKindSectionHeader, withReuseIdentifier: "Section", for: indexPath)
headerView.backgroundColor = UIColor.white
return headerView
}
/*
Cellに値を設定する
*/
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell : CustomUICollectionViewCell = collectionView.dequeueReusableCell(withReuseIdentifier: "MyCell", for: indexPath as IndexPath) as! CustomUICollectionViewCell
// Section毎にCellのプロパティを変える.
switch(indexPath.section){
case 0:
cell.backgroundColor = UIColor.red
cell.textLabel?.text = "0"
case 1:
cell.backgroundColor = UIColor.green
cell.textLabel?.text = "1"
case 2:
cell.backgroundColor = UIColor.blue
cell.textLabel?.text = "2"
default:
print("section error")
cell.backgroundColor = UIColor.white
}
return cell
}
}
//
// ViewController.swift
// UIKit055_3.0
//
// Created by KimikoWatanabe on 2016/08/21.
// Copyright © 2016年 FaBo, Inc. All rights reserved.
//
import UIKit
class ViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource {
var myCollectionView : UICollectionView!
override func viewDidLoad() {
super.viewDidLoad()
// CollectionViewのレイアウトを生成.
let layout = UICollectionViewFlowLayout()
// Cell一つ一つの大きさ.
layout.itemSize = CGSize(width:50, height:50)
// Cellのマージン.
layout.sectionInset = UIEdgeInsetsMake(16, 16, 32, 16)
// セクション毎のヘッダーサイズ.
layout.headerReferenceSize = CGSize(width:100,height:50)
// CollectionViewを生成.
myCollectionView = UICollectionView(frame: self.view.frame, collectionViewLayout: layout)
// Cellに使われるクラスを登録.
myCollectionView.register(CustomUICollectionViewCell.self, forCellWithReuseIdentifier: "MyCell")
myCollectionView.register(UICollectionReusableView.self, forSupplementaryViewOfKind: UICollectionElementKindSectionHeader, withReuseIdentifier: "Section")
myCollectionView.delegate = self
myCollectionView.dataSource = self
self.view.addSubview(myCollectionView)
}
/*
Sectionの数
*/
internal func numberOfSections(in collectionView: UICollectionView) -> Int {
return 3
}
/*
Cellが選択された際に呼び出される
*/
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
print("Num: \(indexPath.row)")
print("SectionNum:\(indexPath.section)")
}
/*
Cellの総数を返す
*/
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
// Section毎にCellの総数を変える.
switch(section){
case 0:
return 5
case 1:
return 8
case 2:
return 20
default:
print("error")
return 0
}
}
/*
Sectionに値を設定する
*/
func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {
let headerView = collectionView.dequeueReusableSupplementaryView(ofKind: UICollectionElementKindSectionHeader, withReuseIdentifier: "Section", for: indexPath)
headerView.backgroundColor = UIColor.white
return headerView
}
/*
Cellに値を設定する
*/
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell : CustomUICollectionViewCell = collectionView.dequeueReusableCell(withReuseIdentifier: "MyCell", for: indexPath as IndexPath) as! CustomUICollectionViewCell
// Section毎にCellのプロパティを変える.
switch(indexPath.section){
case 0:
cell.backgroundColor = UIColor.red
cell.textLabel?.text = "0"
case 1:
cell.backgroundColor = UIColor.green
cell.textLabel?.text = "1"
case 2:
cell.backgroundColor = UIColor.blue
cell.textLabel?.text = "2"
default:
print("section error")
cell.backgroundColor = UIColor.white
}
return cell
}
}
//
// ViewController.swift
// UIKit055_2.3
//
// Created by KimikoWatanabe on 2016/08/21.
// Copyright © 2016年 FaBo, Inc. All rights reserved.
//
import UIKit
class ViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource {
var myCollectionView : UICollectionView!
override func viewDidLoad() {
super.viewDidLoad()
// CollectionViewのレイアウトを生成.
let layout = UICollectionViewFlowLayout()
// Cell一つ一つの大きさ.
layout.itemSize = CGSizeMake(50, 50)
// Cellのマージン.
layout.sectionInset = UIEdgeInsetsMake(16, 16, 32, 16)
// セクション毎のヘッダーサイズ.
layout.headerReferenceSize = CGSizeMake(100,50)
// CollectionViewを生成.
myCollectionView = UICollectionView(frame: self.view.frame, collectionViewLayout: layout)
// Cellに使われるクラスを登録.
myCollectionView.registerClass(CustomUICollectionViewCell.self, forCellWithReuseIdentifier: "MyCell")
myCollectionView.registerClass(UICollectionReusableView.self, forSupplementaryViewOfKind: UICollectionElementKindSectionHeader, withReuseIdentifier: "Section")
myCollectionView.delegate = self
myCollectionView.dataSource = self
self.view.addSubview(myCollectionView)
}
/*
Sectionの数
*/
func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
return 3
}
/*
Cellが選択された際に呼び出される
*/
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
print("Num: \(indexPath.row)")
print("SectionNum:\(indexPath.section)")
}
/*
Cellの総数を返す
*/
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
// Section毎にCellの総数を変える.
switch(section){
case 0:
return 5
case 1:
return 8
case 2:
return 20
default:
print("error")
return 0
}
}
/*
Sectionに値を設定する
*/
func collectionView(collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionReusableView {
let headerView = collectionView.dequeueReusableSupplementaryViewOfKind(UICollectionElementKindSectionHeader, withReuseIdentifier: "Section", forIndexPath: indexPath)
headerView.backgroundColor = UIColor.whiteColor()
return headerView
}
/*
Cellに値を設定する
*/
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell : CustomUICollectionViewCell = collectionView.dequeueReusableCellWithReuseIdentifier("MyCell", forIndexPath: indexPath) as! CustomUICollectionViewCell
// Section毎にCellのプロパティを変える.
switch(indexPath.section){
case 0:
cell.backgroundColor = UIColor.redColor()
cell.textLabel?.text = "0"
case 1:
cell.backgroundColor = UIColor.greenColor()
cell.textLabel?.text = "1"
case 2:
cell.backgroundColor = UIColor.blueColor()
cell.textLabel?.text = "2"
default:
print("section error")
cell.backgroundColor = UIColor.whiteColor()
}
return cell
}
}