我通过以下规则实现当前外观:
>描边每个细胞的右下边缘.
>描边每个部分标题的下边缘.
这非常接近我想要的,但有两个缺点:
>如果节标题前面的行未满,则标题顶部的边框将停在屏幕右边缘之外.
>它在此屏幕截图中不可见,但如果一行已满,则仍会绘制该行中最后一个单元格的右边框,这对于屏幕边缘看起来有点奇怪.
解决这个问题的最好方法是以某种方式告诉每个单元格它是在一个部分的最后一行还是在一行中的最后一个单元格中;然后细胞将关闭违规的边界,部分标题将绘制一个顶部边界和一个底部,一切都将是hunky-dory.不过,我不知道如何实现这一目标.
关于如何管理它的任何想法,或其他方式来获得我想要的外观?我目前正在使用UICollectionViewFlowLayout.
解决方法
>如果center.y等于该部分中最后一项的center.y,则该单元格位于该部分的最后一行.
>如果CGRectGetMaxY(frame)等于CGRectGetMaxY(self.collectionView.bounds),则单元格再次是集合视图的右边缘.
然后,我将这些计算的结果存储在UICollectionViewLayoutAttributes的子类中,并编写了一个UICollectionViewCell子类,其-applyLayoutAttributes:方法将根据其他属性调整其背景视图绘制的边框.
我已将整个混乱放入fairly enormous gist中,因此您可以确切地看到我所做的事情.快乐的黑客.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。