第二部分主要是往模板里填充数据以及计算dynamic cell的高度。看下这部分完成后:
GIF
#1 往模板里填充数据
1.新建文件,命名为Feed. 声明四个变量。
Feed.swift2.在FeedController.swift里:
--声明数组feeds
--在ViewDidLoad()里,添加以下代码。问题来了,为什么能对常量进行改变?看上面,Feed是一个class,它是引用类型。也就是说,Feed的实例是引用,这个引用是常量不能变,但是能通过这个引用对值进行改变。
FeedController.swift3.在FeedCell.swift里,添加变量feed;didSet起到观察者的作用,当feed有变化的时候,name,profileImageName,feedText和feedImageName相应地变化
FeedCell.swift4.返回到FeedController.swift里,更新数据源方法
FeedController.swift#2 计算dynamic collectionView cell的高度
cell里的内容是动态变化的,如何根据内容,相应地调整cell的高度呢?
FeedController.swift首先,计算出feedText的高度;
然后,计算knownHeight的高度。记住转化为CGFloat类型。
constraint最后,计算cell的高度。把上面两个加起来,再加16,使得feedText看起来不至于太挤。
第二部分完成。
网友评论