自定义CollectionViewCell

CollectionView或TableView的单元格通常都是一直被重复使用,但是重复使用只能使用一样的格式,如果说需要不一样的格式要如何实现?

在app中很常会看到这种分区块的画面,但如果画面内容太多,长度超过手机的画面时,用CollectionView是一个很方便的分块的方法,这个时候就需要自定义每一个cell的样式。

首先要让每个区块链的单元独立,所以每一个单元要各自有一个类,在Xcode中建立档案File-> New-> File-> CocoaTouchClass:

帮每一个区块链建立好之后,开始编辑每一个cell的内容,这边就不多重复述。编辑完之后如何把cell带进去CollectionView呢,如果有用过CollectionView应该会知道cell要先对CollectionView做注册,就算是在Storyboard上的cell也是要定义Identifier才能够让程式知道你是要使用哪一个cell。

接下来要决定在不同的情况呼叫不同的cell来用,在这边只是用很简单的判断式就可以做到:

cell的变数要因为你的顺序而改变indexPath.row的值

还没有结束,如果只有这样子就会让你的单元格全部固定一个大小,而且不一定会是你需要的大小,所以我们要用FlowLayout中的方法来更改每个一个cell的大小:

这边要注意size的宽不能够超过CollectionView本身,不然CollectionViewLayout的宽设定出来会是错误的。

现在可以显示出你要的版本面,而且切好区块链之后能够针对一个区块链修改,以后如果需要增加区块链也不用全部重拉,只需要重新排个区块链的顺序,就可以修改画面。

希望这篇文章能够帮助大家更简单的编排UI,而且能更简单的修改。

Nibelheim11 / CustomCollectionViewCell
通过在GitHub上创建一个帐户来为CustomCollectionViewCell开发做出贡献。 github.com