在開發(fā)過程中,或遇到一些特殊情況:比如網(wǎng)絡(luò)異常氮兵、服務(wù)器異潮形撸或者沒有數(shù)據(jù)時(shí)韵丑,就需要在視圖界面上進(jìn)行配置空白占位頁處理,為了便于使用怒详,所以本Demo是對這個小功能進(jìn)行了一個封裝:Demo 入口:https://github.com/Kinglions/FrankPlaceHolderView
功能點(diǎn)說明:
(1)功能實(shí)用:
占位圖中封裝了 UIImage、UILabel、UIButton三種控件凝危,比較符合用戶的常用習(xí)慣,并且可以根據(jù)枚舉類型晨逝,配置按鈕的位置樣式蛾默,并且支持按鈕block回調(diào)操作
(2)調(diào)用簡單
結(jié)合runtime
將該功能封裝成 UIView 的一個分類,使用調(diào)用時(shí)只需要導(dǎo)入頭文件#import "UIView+FrankPlaceHolderView.h"
,UIView或其子類對象就可以直接調(diào)用方法
(3)支持頁面元素配置
方法調(diào)用的時(shí)候捉貌,可以直接配置圖片支鸡、文字冬念、按鈕等占位元素,并且元素的大小會通過頁面進(jìn)行自適應(yīng)縮放
代碼如下:
#import <UIKit/UIKit.h>
/**
刷新按鈕位置樣式
- ReloadButtonPosition_None: 不顯示重載按鈕
- ReloadButtonPosition_ImgTop: 重載按鈕在圖片上方
- ReloadButtonPosition_ImgButtom: 重載按鈕在圖片下方
- ReloadButtonPosition_ViewBottom: 重載按鈕在視圖底部
*/
typedef NS_ENUM(NSInteger,ReloadButtonPosition) {
ReloadButtonPosition_None = 0,
ReloadButtonPosition_ImgTop,
ReloadButtonPosition_ImgButtom,
ReloadButtonPosition_ViewBottom,
};
@interface UIView (FrankPlaceHolderView)
/**
添加占位視圖
@param position 重載按鈕位置
@param showImage 展示占位?圖片
@param showDescribe 展示占位?提示文字
@param showReloadBtnTitle 重載按鈕提示文字
@param reloadButtonClickBlock 重載按鈕點(diǎn)擊之后回調(diào)
*/
-(void)showPlaceHolderViewWithReloadButtonPosition:(ReloadButtonPosition)position
showImage:(UIImage *)showImage
showDescribe:(NSString *)showDescribe
showReloadBtnTitle:(NSString *)showReloadBtnTitle
completeReloadBtnClick:(void(^)())reloadButtonClickBlock;
/**
隱藏占位視圖
*/
-(void)hiddenPlaceHolderView;
@end