/// 图片默认大小 let StausPicktureItemWidth:CGFloat = 90 /// 配图的最多个数 let StatusPicktureMaxCount: CGFloat = 3 /// 配图间距 let StatusPicktureMargin: CGFloat = 5 /// 存放配图的最大宽度 let StatusPicktureMaxWidth: CGFloat = StausPicktureItemWidth * StatusPicktureMaxCount + (StatusPicktureMaxCount - 1) * StatusPicktureMargin /// 存放配图的最大高度 let StatusPicktureMaxHeight: CGFloat = StatusPicktureMaxWidth private func calViewSize()-> CGSize{ //1.取出布局方式 let layout = collectionViewLayout as! UICollectionViewFlowLayout //2.设置item默认大小 layout.itemSize = CGSize(width: StausPicktureItemWidth,height: StausPicktureItemWidth) //3.设置item个数 let count = statusViewModle?.thumbnail_pic?.count ?? 0 //4. 根据item个数,返回size //4.1> 0张 if count == 0 { return CGSizeZero } //4.2> 1张 if count == 1{ let size = CGSizeMake(150,150) layout.itemSize = size return size } //4.3> 4张 2*2 布局方式 if count == 4{ let widthOrHeight = StatusPicktureMaxWidth * 2 + StatusPicktureMargin return CGSize(width: widthOrHeight,height: widthOrHeight) } //4.4> 2,3,5,6,7,8,9张 。2-3一行显示, 5-6 两行显示 7-8-9 三行显示 let row = CGFloat((count - 1) / Int(StatusPicktureMaxCount) + 1) let height = row * StatusPicktureMaxHeight + (row - 1) * StatusPicktureMargin return CGSize(width: StatusPicktureMaxWidth,height: height) }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。