MMPlaceHolder 1.9

MMPlaceHolder 1.9

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布最新版本2015年10月

adad184维护。




  • adad184

一个创建占位符或显示UIView大小的快速解决方案

中文介绍

您可以用它来进行框架调试demo

或者您可以用它来进行尺寸调试show

安装

推荐通过CocoaPods进行安装。只需添加

pod 'MMPlaceHolder'

并运行pod install。这将安装MMPlaceHolder的最新版本。

如果您想使用MMPlaceHolder的最新代码,请使用

pod 'MMPlaceHolder', :head

使用方法

简单地说,你只需要一行代码。

[yourView showPlaceHolder];

或者您可以自定义。

@interface  UIView(MMPlaceHolder)

- (void)showPlaceHolder;
- (void)showPlaceHolderWithAllSubviews;
- (void)showPlaceHolderWithAllSubviews:(NSInteger)maxDepth;
- (void)showPlaceHolderWithLineColor:(UIColor*)lineColor;
- (void)showPlaceHolderWithLineColor:(UIColor*)lineColor backColor:(UIColor*)backColor;
- (void)showPlaceHolderWithLineColor:(UIColor*)lineColor backColor:(UIColor*)backColor arrowSize:(CGFloat)arrowSize;
- (void)showPlaceHolderWithLineColor:(UIColor*)lineColor backColor:(UIColor*)backColor arrowSize:(CGFloat)arrowSize lineWidth:(CGFloat)lineWidth;
- (void)showPlaceHolderWithLineColor:(UIColor*)lineColor backColor:(UIColor*)backColor arrowSize:(CGFloat)arrowSize lineWidth:(CGFloat)lineWidth frameWidth:(CGFloat)frameWidth frameColor:(UIColor*)frameColor;

- (void)hidePlaceHolder;
- (void)hidePlaceHolderWithAllSubviews;
- (void)removePlaceHolder;
- (void)removePlaceHolderWithAllSubviews;
- (MMPlaceHolder *)getPlaceHolder;

@end

并且您可以使用全局配置

@interface MMPlaceHolderConfig : NSObject

+ (MMPlaceHolderConfig*) defaultConfig;

@property (nonatomic, strong) UIColor *backColor;
@property (nonatomic, assign) CGFloat arrowSize;
@property (nonatomic, strong) UIColor *lineColor;
@property (nonatomic, assign) CGFloat lineWidth;
@property (nonatomic, strong) UIColor *frameColor;
@property (nonatomic, assign) CGFloat frameWidth;

@property (nonatomic, assign) BOOL showArrow;
@property (nonatomic, assign) BOOL showText;


@property (nonatomic, assign) BOOL visible;
@property (nonatomic, assign) BOOL autoDisplay;
@property (nonatomic, strong) NSArray *visibleMemberOfClasses;
@property (nonatomic, strong) NSArray *visibleKindOfClasses;

@end

变更日志

v1.8现在您可以在隐藏系统视图的同时保持界面整洁

    @property (nonatomic, assign) BOOL autoDisplaySystemView;

v1.7现在您可以在自动显示模式下显示特定的类(感谢提交来自@mrdaios)

    @property (nonatomic, strong) NSArray *visibleMemberOfClasses;
    @property (nonatomic, strong) NSArray *visibleKindOfClasses;

    [MMPlaceHolderConfig defaultConfig].visibleMemberOfClasses = @[UIImageView.class];
    [MMPlaceHolderConfig defaultConfig].visibleKindOfClasses   = @[UIButton.class];

v1.6现在您可以通过以下方式控制框架、箭头和文本的可见性

    @property (nonatomic, strong) UIColor *frameColor;
    @property (nonatomic, assign) CGFloat frameWidth;

    [MMPlaceHolderConfig defaultConfig].showArrow = YES;
    [MMPlaceHolderConfig defaultConfig].showText = YES;

并修改了函数hidePlaceHolder并添加了新函数removePlaceHolder

    - (void)removePlaceHolder;
    - (void)removePlaceHolderWithAllSubviews;

最重要的是,您可以通过一行代码自动显示占位符

    [MMPlaceHolderConfig defaultConfig].autoDisplay = YES;

v1.5修复了子视图显示占位符时的hidePlaceHolderBUG

v1.4添加了演示项目,并可以全局配置可见性

    [MMPlaceHolderConfig defaultConfig].visible = NO;

v1.3现在您可以通过以下方式递归地将占位符添加到视图中

    - (void)showPlaceHolderWithAllSubviews;
    - (void)showPlaceHolderWithAllSubviews:(NSInteger)maxDepth;
    - (void)hidePlaceHolderWithAllSubviews;

v1.2现在您可以通过以下方式更改默认配置
[MMPlaceHolderConfig defaultConfig]

    [MMPlaceHolderConfig defaultConfig].lineColor = [UIColor whiteColor];
    [MMPlaceHolderConfig defaultConfig].backColor = [UIColor clearColor];
    [MMPlaceHolderConfig defaultConfig].arrowSize = 3;
    [MMPlaceHolderConfig defaultConfig].lineWidth = 1;

v1.1现在您可以通过以下方式获取或移除MMPlaceHolder

    - (void)hidePlaceHolder;
    - (MMPlaceHolder *)getPlaceHolder;

v1.0您可以通过自定义或简单使用它

    - (void)showPlaceHolder;
    - (void)showPlaceHolderWithLineColor:(UIColor*)lineColor;
    - (void)showPlaceHolderWithLineColor:(UIColor*)lineColor backColor:(UIColor*)backColor;
    - (void)showPlaceHolderWithLineColor:(UIColor*)lineColor backColor:(UIColor*)backColor arrowSize:(CGFloat)arrowSize ;
    - (void)showPlaceHolderWithLineColor:(UIColor*)lineColor backColor:(UIColor*)backColor arrowSize:(CGFloat)arrowSize lineWidth:(CGFloat)lineWidth;