BBABottomDialogItem.h 3.28 KB
//
//  BBABottomDialogItem.h
//  BBAUIKit
//
//  Created by 张永禄 on 2020/6/9.
//  Copyright © 2020 Baidu. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

typedef NS_ENUM(NSInteger, BBABottomDialogDismissStyle) {
    BBABottomDialogDismissStyleNone         = 0x01 << 0,    /// 不能滑动消失,只能点击叉号或弹窗外视图消失
    BBABottomDialogDismissStyleLeft         = 0x01 << 1,    /// 左滑消失
    BBABottomDialogDismissStyleRight        = 0x01 << 2,    /// 右滑消失
    BBABottomDialogDismissStyleDown         = 0x01 << 3,    /// 下滑消失
};

@interface BBABottomDialogHeaderItem : NSObject

/// 大标题
@property (nonatomic, copy) NSString *title;
/// 大标题色号信息,默认值为:
@property (nonatomic, copy) NSString *titleColorInfo;
/// 大标题富文本信息
@property (nonatomic, copy) NSAttributedString *attrTitle;
/// 关闭按钮背景图
@property (nonatomic, strong) UIImage *closeBgImage;

@end

@interface BBABottomDialogContentItem : NSObject

/// 图片(image 和 imageURLStr 同时存在时,优先使用image)
@property (nonatomic, strong) UIImage *image;
/// 图片链接(image 和 imageURLStr 同时存在时,优先使用image)
@property (nonatomic, copy) NSString *imageURLStr;
/// 提示标识
@property (nonatomic, copy) NSString *hintTextInfo;
/// 提示标识的文本颜色
@property (nonatomic, copy) NSString *hintTextColorInfo;
/// 提示标识的富文本样式
@property (nonatomic, copy) NSAttributedString *attrHintText;

/// 内容标题
@property (nonatomic, copy) NSString *title;
/// 内容标题的颜色
@property (nonatomic, copy) NSString *titleColorInfo;
/// 内容标题的富文本样式
@property (nonatomic, copy) NSAttributedString *attrTitle;

/// 副标题信息
@property (nonatomic, copy) NSString *subTitle;
/// 副标题信息的颜色信息
@property (nonatomic, copy) NSString *subTitleColorInfo;
/// 副标题信息的富文本样式
@property (nonatomic, copy) NSAttributedString *attrSubTitle;

/// 是否显示按钮
@property (nonatomic, assign) BOOL isShowButton;
/// 是否显示省略号(默认不展现省略号)
@property (nonatomic, assign) BOOL isShowEllipsis;
/// 按钮的文本
@property (nonatomic, copy) NSString *buttonText;
/// 按钮文本的颜色
@property (nonatomic, copy) NSString *buttonTextColorInfo;
/// 按钮点击响应事件
@property (nonatomic, strong) void(^buttonClickAction)(void);
/// 点击按钮弹窗视图是否消失(默认消失)
@property (nonatomic, assign) BOOL isButtonClickDismiss;

@end

@interface BBABottomDialogItem : NSObject

/// header头部配置信息
@property (nonatomic, strong) BBABottomDialogHeaderItem  *headerItem;
/// 内容配置信息
@property (nonatomic, strong) BBABottomDialogContentItem *contentItem;
/// 弹窗展现完成回调
@property (nonatomic, strong) void(^shownCompletion)(void);
/// 点击弹窗视图响应事件
@property (nonatomic, strong) void(^didTapAction)(void);
/// 点击弹窗视图,弹窗视图是否消失(默认消失)
@property (nonatomic, assign) BOOL isTapDismiss;
/// 消失响应事件
@property (nonatomic, strong) void(^didDismissCompletion)(void);
/// 滑动消失类型
@property (nonatomic, assign) BBABottomDialogDismissStyle dismissStyle;

@end

NS_ASSUME_NONNULL_END