zoukankan      html  css  js  c++  java
  • 一个优雅的占位图解决方案。适用于 UITableView 和 UICollectionView。

    FMListPlaceholder

    platform
    languages
    cocoapods
    support

    项目地址:https://github.com/yfming93/FMListPlaceholder

    一个优雅的占位图解决方案。适用于 UITableView 和 UICollectionView。

    一行代码处理空列表占位图逻辑

    0x001 与其他的同类三方库对比的优点:

    • 首次进入列表占位图是不显示的。只在网络请求完成后,再次刷新列表时才处理相关逻辑;
    • 简单、高效、实用,最快一行代码就可以集成;
    • 提供更加全面丰富、高度自定义的效果;
    • 可一行代码设置一套自己项目专属的默认方案,然后也可以在某个特殊的列表单独二次自定义效果;

    0x002 效果演示

    0x003 如何使用

    • CocoaPods 使用:
      • Podfile 文件新增 pod "FMListPlaceholder"
      • 打开终端, 切换到项目文件目录。 执行 pod install
      • 导入主头文件:#import <FMListPlaceholder.h>
    • 手动拖入 使用:
      • 下载演示工程,把 FMListPlaceholder 文件夹拖入自己项目中;
      • 导入主头文件:#import "FMListPlaceholder.h"
    一行代码使用
    _tableView.needPlaceholderView = YES;   //the same as UICollectionView
    

    或者如下自定义

    自定义全局默认
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        
        [FMListPlaceholder fm_defaultBackgroundColor:UIColor.whiteColor coverName:@"xxx" tips:@"Sorroy,nil here!" tipsTextColor:UIColor.grayColor tipsFont:[UIFont systemFontOfSize:16] coverSize:CGSizeZero coverCenterYOffset:-30 coverSpaceToTips:10];
    
        return YES;
    }
    

    0x004 自定义

    自定义某个特殊列表

    根据自己需求自行调用如下某些接口设置,UITableView 和 UICollectionView 接口相同。

    [_tableView fm_emptyCoverName:@"fm_placeholder_nil" emptyTips:@" "];
    [_tableView fm_backgroundColor:[UIColor colorWithRed:0.91 green:0.90 blue:0.90 alpha:1.00] tipsTextColor:UIColor.redColor tipsFont:nil];
    [_tableView fm_coverCenterYOffset:-80 coverSize:CGSizeMake(90, 120) coverSpaceToTips:20];
    // the same as UICollectionView
    

    点击刷新逻辑

    (如果需要点击刷新逻辑,可实现如下 block)

    _tableView.reloadBlock = ^(UIScrollView *listView) {
      // Reload Handle is Here!
      // [listView.mj_header beginRefreshing]; // reloadData
    };
    
    更加详细请见演示工程

    0x005 希望

    • 如果您在使用过程中有任何疑问或想要更多界面进行自定义,您可以发给我!

    • 如果您想参与本项目的维护或具有良好的设计风格,欢迎拉动请求!

    • 如果您在使用时有任何问题,请与我联系。

    • 希望能够共同完善这个项目,让它变得更强大,能够满足大多数用户的需求!

    0x006 QQ 群

    0x007 要求

    • iOS 9.0 or later
    • Xcode 9.0 or later

    0x008 许可证

    All source code is licensed under the MIT License.

  • 相关阅读:
    【Javascript】JS单例模式的简单实现
    【Javascript】Javascript中如何判断变量是数组类型
    买卖股票的最佳时机 II
    只出现一次的数字
    删除排序数组中的重复项
    两数之和
    Android系统中Fastboot和Recovery所扮演的角色。
    虚函数、纯虚函数、抽象类、接口 (Java_C++_C#)
    关于cmd中执行命令路径包含空格的解决办法
    Windows API 编程学习记录<三>
  • 原文地址:https://www.cnblogs.com/yfming/p/10283096.html
Copyright © 2011-2022 走看看