Latest 0.1.2
Homepage https://github.com/LinXunFeng/LXFProtocolTool
License MIT
Platforms ios 8.0
Authors

Version
License
Platform

通过协议的方式来方便快捷地实现一些的实用功能,目前功能不多,往后会逐渐增加,喜欢的来个Star吧 : )

对Swift协议不熟悉的同学可以阅读以下两篇文章做下了解:

iOS – Swift 面向协议编程(一)

iOS – Swift 面向协议编程(二)

Update

版本 更新内容
0.1.2 * LXFNibloadable 不再需要手动遵守协议,增加了多种nib加载
0.1.1 * LXFEmptyDataSetable 添加点击事件回调方法,提供更新数据入口
0.1.0 xib便捷加载
scrollView空白页显示(依赖DZNEmptyDataSet)

CocoaPods

LXFProtocolTool 支持CocoaPods:

  • 完全安装
    pod 'LXFProtocolTool'

当然,也可以根据自己的需要安装指定子库

  • Xib加载

    pod 'LXFProtocolTool/LXFNibloadable'
  • 空白视图
    pod 'LXFProtocolTool/LXFEmptyDataSetable'

Example

详细使用请打开Example工程查看,以下做简要使用说明

  • LXFNibloadable

1、View遵守协议LXFNibloadable 不用自己手动遵守,这步跳过

class LXFXibTestView: UIView, LXFNibloadable {
}

2、通过静态方法loadFromNib()创建View

let view = LXFXibTestView.loadFromNib()

** 新增tableView和collectionView的与xib相关的方法,如

// 注册 cell
tableView.registerCell(LXFCustomCell.self)
// 注册 headerFooterView
tableView.registerHeaderFooterView(LXFCustomHeaderView.self)

// 其它方法请自己去 LXFNibloadable.swift 中查看吧

  • LXFEmptyDataSetable

1、UIViewControllor或UIView遵守协议LXFEmptyDataSetable

extension LXFEmptyDemoController: LXFEmptyDataSetable {
}

2、调用方法lxf_EmptyDataSet()

// 简单方式
lxf_EmptyDataSet(tableView)

// 定制方式
lxf_EmptyDataSet(tableView) { () -> ([LXFEmptyDataSetAttributeKeyType : Any]) in
    return [
        .tipStr:"哟哟哟",
        .verticalOffset:-150,
        .allowScroll: false
    ]
}

lxf_EmptyDataSet

3、 更新定制

lxf_updateEmptyDataSet(tableView) { () -> ([LXFEmptyDataSetAttributeKeyType : Any]) in
    return [
        .tipStr:"更新提示语"
    ]
}

lxf_EmptyDataSet_update

占位图可以使用定制方式的.tipImage来指定,也可以丢指定名字LXFEmptyDataPic的图片到工程的Images.xcassets中

License

LXFProtocolTool is available under the MIT license. See the LICENSE file for more info.

Author

Latest podspec

{
    "name": "LXFProtocolTool",
    "version": "0.1.2",
    "summary": "LXFProtocolToolu662fu5b9eu7528u7684u534fu8baeu5e94u7528u5de5u5177u5e93",
    "description": "LXFProtocolToolu662fu4f7fu7528Swiftu4e2du7684u534fu8baeu6765u5b9eu73b0u591au79cdu65b9u4fbfu3001u5b9eu7528u7684u5de5u5177u5e93",
    "homepage": "https://github.com/LinXunFeng/LXFProtocolTool",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "LinXunFeng": "[email protected]"
    },
    "source": {
        "git": "https://github.com/LinXunFeng/LXFProtocolTool.git",
        "tag": "0.1.2"
    },
    "platforms": {
        "ios": "8.0"
    },
    "pod_target_xcconfig": {
        "SWIFT_VERSION": "4.0"
    },
    "subspecs": [
        {
            "name": "LXFNibloadable",
            "source_files": "LXFProtocolTool/Classes/LXFNibloadable/**/*.{swift}"
        },
        {
            "name": "LXFEmptyDataSetable",
            "source_files": "LXFProtocolTool/Classes/LXFEmptyDataSetable/**/*.{swift}",
            "resource_bundles": {
                "LXFProtocolTool": [
                    "LXFProtocolTool/Assets/LXFEmptyDataSetable/*"
                ]
            },
            "dependencies": {
                "DZNEmptyDataSet": [
                    "~> 1.8.1"
                ]
            }
        }
    ]
}

Pin It on Pinterest

Share This