CollectionView实现瀑布流(swift)

本文介绍了如何在Swift中使用纯代码实现CollectionView的瀑布流布局。通过创建自定义布局类并遵循WaterFlowViewLayoutDelegate协议,实现了计算和展示瀑布流效果。
摘要由CSDN通过智能技术生成

我们用纯代码实现一下瀑布流:
AppDelegate:

var window: UIWindow?


    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {


        window = UIWindow(frame: (UIScreen.mainScreen().bounds))

        window?.rootViewController = WaterFlowViewController()


        window?.makeKeyAndVisible()

        return true
    }
  • 搞一个随机色:
extension UIColor {

    //随机颜色
    class func randomColor() ->UIColor {
   
        return UIColor(red: randomValue(), green: randomValue(), blue: randomValue(), alpha: 1)
    }

    class  func randomValue()->CGFloat {
   
        return CGFloat(arc4random_uniform(256))/255
    }

}
  • 自定义布局:
protocol WaterFlowViewLayoutDelegate:NSObjectProtocol
{
    //collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath)
    ///width是瀑布流每列的宽度
    func waterFlowViewLayout(waterFlowViewLayout:WaterFlowViewLayout,heightForWidth:CGFloat,atIndextPath:NSIndexPath)->CGFloat
}

class WaterFlowViewLayout: UICollectionViewLayout {

    weak 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值