我根据this post使用了自定义流程布局。 这是我的实施:
def get(self, request):
voucher_request = Voucher.objects.all()
context = RequestContext(request, {
'voucher_request': voucher_request,
})
return self.tenjin_response("billing/voucher.html", context)
答案 0 :(得分:8)
//Make use of UICollectionViewDelegateFlowLayout Protocol
class RVC: UICollectionViewController {
//some code
}
extension RVC: UICollectionViewDelegateFlowLayout{
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize
{
var collectionViewSize = collectionView.frame.size
collectionViewSize.width = collectionViewSize.width/3.0 //Display Three elements in a row.
collectionViewSize.height = collectionViewSize.height/4.0
return collectionViewSize
}
有关详情,请参阅以下链接。
答案 1 :(得分:0)
itemSpacing =“单元格之间的间距大小。”
itemsInOneLine =“您要在单行中显示的项目数。”
collectionWidth =“您的收藏夹视图的宽度”
let layout:UICollectionViewFlowLayout = UICollectionViewFlowLayout()
let width = (collectionWidth) - itemSpacing * CGFloat(itemsInOneLine - 1)
layout.itemSize = CGSize(width:floor(width/CGFloat(itemsInOneLine)),height:width/CGFloat(itemsInOneLine))
答案 2 :(得分:-3)
您不必通过编码来完成。你只需要在xib.as每iPhone 5或5s宽度变为320.并且你想要每行显示3个单元格,所以你必须做320/3并根据你得到的单元格大小的结果。如果对我的回答有任何疑问,请问我。