信手拈来的OC弹窗库:1、继承 FWPopupBaseView 即可轻松实现各种位置、动画类型的弹窗;2、新功能引导弹窗。更多弹窗场景等你来挑战,总之,想怎么弹就怎么弹!!!
1、同一窗口内目前只支持弹窗一个弹窗,如果需要同时展示两个弹窗,建议与系统或者其他自定义弹窗配合使用;
2、如需两个弹窗接连使用,请保证第一个弹窗完全消失再调用第二个弹窗;
3、鉴于方法或者属性可能跟着版本改动,因此强烈建议使用该库时封装一层后再使用;
4、如需在弹窗上展示SVProgressHUD,可设置:[SVProgressHUD setMaxSupportedWindowLevel:UIWindowLevelStatusBar+1];
pod 'FWPopupViewOC'
注意:如出现 [!] Unable to find a specification for 'FWPopupViewOC' 错误,可执行 pod repo update 命令。
只需要继承FWPopupBaseView:
@interface FWCustomView : FWPopupBaseView
@end
/**
标题字体大小
*/
@property (nonatomic, assign) CGFloat titleFontSize;
/**
标题文字颜色
*/
@property (nonatomic, strong) UIColor *titleColor;
/**
按钮字体大小
*/
@property (nonatomic, assign) CGFloat buttonFontSize;
/**
按钮高度
*/
@property (nonatomic, assign) CGFloat buttonHeight;
/**
普通按钮文字颜色
*/
@property (nonatomic, strong) UIColor *itemNormalColor;
/**
高亮按钮文字颜色
*/
@property (nonatomic, strong) UIColor *itemHighlightColor;
/**
选中按钮文字颜色
*/
@property (nonatomic, strong) UIColor *itemPressedColor;
/**
上下间距
*/
@property (nonatomic, assign) CGFloat topBottomMargin;
/**
左右间距
*/
@property (nonatomic, assign) CGFloat letfRigthMargin;
/**
控件之间的间距
*/
@property (nonatomic, assign) CGFloat commponentMargin;
/**
边框、分割线颜色
*/
@property (nonatomic, strong) UIColor *splitColor;
/**
边框宽度
*/
@property (nonatomic, assign) CGFloat splitWidth;
/**
圆角值
*/
@property (nonatomic, assign) CGFloat cornerRadius;
/**
弹窗的背景色(注意:这边指的是弹窗而不是遮罩层,遮罩层背景色的设置是:fwMaskViewColor)
*/
@property (nonatomic, strong) UIColor *backgroundColor;
/**
弹窗的最大高度,0:表示不限制
*/
@property (nonatomic, assign) CGFloat popupViewMaxHeight;
/**
弹窗箭头的样式
*/
@property (nonatomic, assign) FWPopupArrowStyle popupArrowStyle;
/**
弹窗箭头的尺寸
*/
@property (nonatomic, assign) CGSize popupArrowSize;
/**
弹窗箭头的顶点的X值相对于弹窗的宽度,默认在弹窗X轴的一半,因此设置范围:0~1
*/
@property (nonatomic, assign) CGFloat popupArrowVertexScaleX;
/**
弹窗圆角箭头的圆角值
*/
@property (nonatomic, assign) CGFloat popupArrowCornerRadius;
/**
弹窗圆角箭头与边线交汇处的圆角值
*/
@property (nonatomic, assign) CGFloat popupArrowBottomCornerRadius;
// ===== 自定义弹窗(继承FWPopupView)时可能会用到 =====
/**
弹窗校准位置
*/
@property (nonatomic, assign) FWPopupAlignment popupAlignment;
/**
弹窗动画类型
*/
@property (nonatomic, assign) FWPopupAnimationStyle popupAnimationStyle;
/**
弹窗偏移量
*/
@property (nonatomic, assign) UIEdgeInsets popupEdgeInsets;
/**
遮罩层的背景色(也可以使用fwMaskViewColor),注意:该参数在弹窗隐藏后,还原为弹窗弹起时的值
*/
@property (nonatomic, strong) UIColor *maskViewColor;
/**
0表示NO,1表示YES,YES:用户点击外部遮罩层页面可以消失,注意:该参数在弹窗隐藏后,还原为弹窗弹起时的值
*/
@property (nonatomic, copy) NSString *touchWildToHide;
/**
显示、隐藏动画所需的时间
*/
@property (nonatomic, assign) NSTimeInterval animationDuration;
/**
3D放射动画(当且仅当:popupAnimationStyle == .scale3D 时有效)
*/
@property (nonatomic, assign) CATransform3D transform3D;
/**
2D放射动画
*/
@property (nonatomic, assign) CGAffineTransform transform;
• v2.1.0:
• v2.1.1:
• v2.1.2:
• v2.1.3:
• v2.1.4:
• v2.1.5:
• v2.1.6:
• v2.1.9:
• v3.0.0(大版本):
• v3.0.1:
• v3.0.3:
• v3.0.4:
• v3.0.5: