BBADialogItem.h
5.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
//
// BBADialogItem.h
// BBAPods-BBAUIKit
//
// Created by hulinling on 2017/11/15.
// Copyright © 2017年 Baidu. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "BBADialogGlobalConfig.h"
@interface BBADialogItem : NSObject
@end
#pragma mark - Tip类弹窗配置
/**
* 提示样式的对话框item (支持2种样式:图片、自定义视图)
*
* 若使用图片样式,则设置tipImage、didClickImageBlock属性;
* 若使用自定义视图样式,则设置customTipView属性
*
* 若同时设置了tipImage、customTipView属性,则使用customTipView进行展示
*/
@interface BBADialogTipItem : BBADialogItem
/// 需要展示的图片(size是固定的,以6P为准,其size为:331 * 390)
@property (nonatomic, strong) UIImage *tipImage;
/// 若需要响应图片的点击,则设置该属性
@property (nonatomic, copy) BOOL(^didClickImageBlock)(void);
/// 自定义视图(有该属性,则忽略tipImage)
@property (nonatomic, strong) UIView *customTipView;
/// 是否展示底部关闭按钮
@property (nonatomic, assign) BOOL showCloseButton __deprecated_msg("请使用closeStyle代替");
/// 关闭按钮点击回调
@property (nonatomic, copy) void(^didCloseBlock)(void);
/// 关闭按钮的风格
@property (nonatomic, assign) BBADialogCloseStyle closeStyle;
/// 是否支持键盘监听(默认支持)
@property (nonatomic, assign) BOOL isSupportKeyboardEvent;
@end
#pragma mark - Alert弹窗配置
/// alert样式的对话框的标题item
@interface BBADialogTitleItem : BBADialogItem
/// 标题文本
@property (nonatomic, copy) NSString *title;
/**
* 标题文本色号 (默认使用默认标题色号的色值)
*
* !!! 该属性应该传递具体色值的色号,若直接传递色值(色值支持alpha,最后2位代表alpha,即:RRGGBBAA),则不会随主题切换色值 !!!
*/
@property (nonatomic, copy) NSString *titleColorInfo;
/// 标题富文本(有设置该值,则忽略上诉2个属性,以及默认色值、字体)
@property (nonatomic, copy) NSAttributedString *attrTitle;
@end
/**
* Alert样式的对话框的内容item (支持2种样式:文本、自定义视图)
*
* 若使用文本样式,则设置contentInfo、contentColorInfo、attrContentInfo其中一种属性;
* 若使用自定义视图样式,则设置customContentView属性
*
* 若同时设置了文本样式和自定义视图样式的属性,则使用customContentView进行展示
*/
@interface BBADialogContentItem : BBADialogItem
/// 内容文本
@property (nonatomic, copy) NSString *contentInfo;
/**
* 内容文本色号(默认使用默认内容色号的色值)
*
* !!! 该属性应该传递具体色值的色号,若直接传递色值(色值支持alpha,最后2位代表alpha,即:RRGGBBAA),则不会随主题切换色值 !!!
*/
@property (nonatomic, copy) NSString *contentColorInfo;
/// 内容富文本(有设置该值,则忽略上诉2个属性,以及默认色值、字体)
@property (nonatomic, copy) NSAttributedString *attrContentInfo;
/**
* 自定义视图(有设置该值,则忽略文本相关属性)
*
* 当自定义视图的高度超过了BBADialog.DialogAlertContentMaxHeight最大高度时,将会被添加到一个scrollView里
*/
@property (nonatomic, strong) UIView *customContentView;
/**
* 自定义视图是否需要忽略默认边距(该属性只在有设置customContentView时,生效),该值会影响到BBADialog.DialogAlertContentMaxHeight的值
*/
@property (nonatomic, assign) BOOL ignoreDefaultPadding;
/**
* 给弹窗添加的额外高度,该值将作用于弹窗的整体最大高度
* @note 若弹窗的默认最大高度加上该额外高度超过了当前屏幕高度,则此时弹窗的高度将以屏幕的高度为准
*/
@property (nonatomic, assign) CGFloat additionalMaxHeight;
/// 是否支持键盘监听(默认支持)
@property (nonatomic, assign) BOOL isSupportKeyboardEvent;
@end
/// alert样式的对话框的按钮item
typedef void(^BBADialogButtonItemTapBlock)(void);
@interface BBADialogButtonItem : BBADialogItem
/// 按钮文案
@property (nonatomic, copy) NSString *title;
/**
* 文案颜色号(若为nil,则使用默认颜色号)
*
* !!! 该属性应该传递具体色值的色号,若直接传递色值(色值支持alpha,最后2位代表alpha,即:RRGGBBAA),则不会随主题切换色值 !!!
*/
@property (nonatomic, copy) NSString *titleColorInfo;
/// 按钮属性文案(若有该值,则忽略title属性)
@property (nonatomic, copy) NSAttributedString *attrTitle;
/// 按钮点击态属性文案 (该值须跟attrTitle同时存在)
@property (nonatomic, copy) NSAttributedString *selectedAttrTitle;
/// 按钮的风格
@property (nonatomic, assign) BBADialogButtonStyle style;
/// 按钮背景色号(若为nil,则使用UIButton默认颜色号)
/// !!!按钮背景色色号,若直接传递色值(色值支持alpha,最后2位代表alpha,即:RRGGBBAA),则不会随主题切换色值!!!
@property (nonatomic, copy) NSString *backgroundColorInfo;
/// 按钮点击回调
@property (nonatomic, copy) BBADialogButtonItemTapBlock didTapBlock;
+ (instancetype)itemWithTitle:(NSString *)title tapBlock:(BBADialogButtonItemTapBlock)tapBlock;
@end