最近要研究下排布的游戲關卡界面的實現,簡單做了個UICollectionView的demo。
先看最後的效果:
下面來看實現的方法把,在Storyboard對應的ViewController中增加一個UICollectionView控件,然後再其中加入一個CollectionViewCell
在其中增加一個Label控件
注意,下面對這個Cell進行命名,命名成defaultCell, 這樣我們UI層面的工作就結束了。
代碼部分:
首先我們需要了解兩個類,UICollectionViewDataSource和UICollectionViewDelegate
UICollectionViewDataSource負責提供提供View所需要的數據源
UICollectionViewDelegate負責處理View對應的各種事件
class MyCollectionViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate{
@IBOutlet weak var cv: UICollectionView!
override func viewDidLoad() {
super.viewDidLoad()
cv.dataSource = self
cv.delegate = self
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
//實現UICollectionViewDataSource
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int
{
//返回記錄數
return 100;
}
//實現UICollectionViewDataSource
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell
{
//返回Cell內容,這裡我們使用剛剛建立的defaultCell作為顯示內容
var cell:MyColletionCell = cv.dequeueReusableCellWithReuseIdentifier("defaultCell", forIndexPath: indexPath) as! MyColletionCell
cell.label.text = "\(indexPath.section):\(indexPath.row)"
return cell;
}
//實現UICollectionViewDataSource
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath)
{
//某個Cell被選擇的事件處理
}
}
之後運行,你就可以看到效果啦。
下面關於Swift的內容你可能也喜歡:
Ubuntu 14.04.4 下安裝 Swift 2.2.1 http://www.linuxidc.com/Linux/2016-05/131249.htm
Ubuntu 15.10安裝部署Swift開發環境 http://www.linuxidc.com/Linux/2016-01/126995.htm
Swift 的變化:從 2.2 到 3.0 會帶來什麼 http://www.linuxidc.com/Linux/2015-12/126440.htm
Swift 正式開源,同時開源 Swfit 核心庫和包管理器 http://www.linuxidc.com/Linux/2015-12/125847.htm
Apple Swift學習教程 http://www.linuxidc.com/Linux/2014-09/106420.htm
使用 Swift 構建一個 iOS 的郵件應用 http://www.linuxidc.com/Linux/2014-08/105542.htm
Swift 2.0開源化 http://www.linuxidc.com/Linux/2015-06/118594.htm
Linux下搭建Swift語言開發學習環境 http://www.linuxidc.com/Linux/2015-12/125983.htm
Swift 的詳細介紹:請點這裡