58

GitHub - zzjzz9266a/ZJFlexibleLayout: custom waterfall flow based on UICollectio...

 7 years ago
source link: https://github.com/zzjzz9266a/ZJFlexibleLayout
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

README.md

ZJFlexibleLayout.png

68747470733a2f2f696d672e736869656c64732e696f2f636f636f61706f64732f762f5a4a466c657869626c654c61796f75742e737667 68747470733a2f2f696d672e736869656c64732e696f2f62616467652f43617274686167652d636f6d70617469626c652d3442433531442e7376673f7374796c653d666c6174 68747470733a2f2f696d672e736869656c64732e696f2f62616467652f706c6174666f726d2d694f532d677265656e2e737667 68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c616e67756167652d7377696674253230342e312d6f72616e67652e737667 68747470733a2f2f696d672e736869656c64732e696f2f61706d2f6c2f76696d2d6d6f64652e737667

中文简介


ZJFlexibleLayout is a simple UI component of flexible waterfall layout for iOS platform.

Features

  • Easy To Use
  • Flexible In Any Layout Including WaterFall
  • Written All By Swift

Requirements

  • iOS 8.0+
  • Xcode 8.3+
  • Swift 3.1+

Installation

CocoaPods

CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

CocoaPods 1.1+ is required to build ZJFlexibleLayout.

To integrate ZJFlexibleLayout into your Xcode project using CocoaPods, specify it in your Podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
use_frameworks!

target '<Your Target Name>' do
    pod 'ZJFlexibleLayout'
end

Carthage

Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

To integrate ZJFlexibleLayout into your Xcode project using Carthage, specify it in your Cartfile:

github "zzjzz9266a/ZJFlexibleLayout"

Run carthage update to build the framework and drag the built ZJFlexibleLayout.framework into your Xcode project.

Usage

1、Create a new ZJFlexibleLayout and set delegate, set this layout to UICollectionView:

let layout = ZJFlexibleLayout(delegate: self)
layout.collectionHeaderView = headerView    //could be nil
collectionView = UICollectionView(frame: kScreenBounds, collectionViewLayout: layout)

2、Implement the protocol ZJFlexibleDataSource, just implement the first two methods:

protocol ZJFlexibleLayoutDataSource: class{

    //控制对应section的瀑布流列数
    func numberOfCols(at section: Int) -> Int
    //控制每个cell的尺寸,实质上就是获取宽高比
    func sizeOfItemAtIndexPath(at indexPath : IndexPath) -> CGSize
    //控制瀑布流cell的间距
    func spaceOfCells(at section: Int) -> CGFloat
    //section 内边距
    func sectionInsets(at section: Int) -> UIEdgeInsets
    //每个section的header尺寸
    func sizeOfHeader(at section: Int) -> CGSize
    //每个cell的额外高度
    func heightOfAdditionalContent(at indexPath : IndexPath) -> CGFloat
}

Example

ZJFlexibleLayout.gif

License

ZJFlexibleDataLayout is released under the MIT license. See LICENSE for details.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK