一、网格UICollectionView最典型的例子是iBooks。其主要属性如下:
1,layout
该属性表示布局方式,有Flow、Custom两种布局方式。默认是Flow流式布局。
2,Accessories
是否显示页眉和页脚
3,各种尺寸属性
Cell Size:单元格尺寸
Header Size:页眉尺寸
Footer Size:页脚尺寸
Min Spacing:单元格之间间距
Section Insets:格分区上下左右空白区域大小。
二、流布局的简单样例
1,先创建一个应用Simple View Application,删除默认的
View Controller,拖入一个
Collection View Controller到界面上,这时我们可以看到已经同时添加了
Collection View和
Collection View Cell控件。
2,勾选
Collection View Controller属性面板里的
Is Initial View Controller复选框,设置为启动视图控制器。
3,在
Collection View Cell里拖入一个
Image View和
Label并摆放好位置和大小,用于显示图标和名称。
4,设置
Image View的
tag为
1,
Label的
2,
Colletion View Cell的
Identifier为
designviewCell。
效果图如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
|
import
UIKit
class
ViewController: UICollectionViewController {
//课程名称和图片,每一门课程用字典来表示
let courses = [
[
"name"
:
"Swift"
,
"pic"
"swift.png"
],
"OC"
"oc.jpg"
ottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.5em!important; margin:0px!important; overflow:visible!important; padding:1px 0px!important; position:static!important; right:auto!important; top:auto!important; vertical-align:baseline!important; width:auto!important; font-family:Consolas,
"java"
"java.png"
ottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.5em!important; margin:0px!important; overflow:visible!important; padding:1px 0px!important; position:static!important; right:auto!important; top:auto!important; vertical-align:baseline!important; width:auto!important; font-family:Consolas,
"PHP"
"PHP.jpeg"
]
]
override
func viewDidLoad() {
super
.viewDidLoad()
// 已经在界面上设计了Cell并定义了identity,不需要注册CollectionViewCell
//self.collectionView.registerClass(UICollectionViewCell.self,
// forCellWithReuseIdentifier: "designviewCell")
self.collectionView?.backgroundColor = UIColor.whiteColor()
}
// CollectionView行数
func collectionView(collectionView: UICollectionView,
numberOfItemsInSection section: Int) -> Int {
return
courses.count;
}
// 获取单元格
cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
// storyboard里设计的单元格
let identify:
String
=
"designviewCell"
// 获取设计的单元格,不需要再动态添加界面元素
let cell = (self.collectionView?.dequeueReusableCellWithReuseIdentifier(
identify,forIndexPath: indexPath))!
as
UICollectionViewCell
// 从界面查找到控件元素并设置属性
(cell.contentView.viewWithTag(
1
)
! UIImageView).image =
UIImage(named: courses[indexPath.item][
]!)
2
! UILabel).text =
courses[indexPath.item][
]
cell
}
func didReceiveMemoryWarning() {
.didReceiveMemoryWarning()
}
设置可重用标识
设置cell的宽高和间距
|