类似于点击出现“气泡”的弹出框封装,支持大小、颜色、三角形位置等各种属性的定制,比较灵活,可以用系统frame初始化,也可以用构造方法初始化,相对没有很“死”,简单易用哈哈!.h代码如下,点击查看完整demo
效果截图如下:
#import <UIKit/UIKit.h>
typedef enum : NSUInteger {
TriangleDicrectionUp, // 向上,默认
TriangleDicrectionLeft, // 向左
TriangleDicrectionDown, // 向下
TriangleDicrectionRight // 向右
} TriangleDicrection; // 三角形方向
@interface YRPopupView : UIView
/**
构造方法
@param point 三角形坐标
@param size 大小
@return 弹出框
*/
- (instancetype)initWithTrianglePoint:(CGPoint)point size:(CGSize)size;
/**
实际界面(除去箭头的位置)
*/
@property (nonatomic,strong) UIView *realView;
/**
三角形方向,默认ArrowDicrectionUp,向上
*/
@property (nonatomic,assign) TriangleDicrection triangleDicrection;
/**
三角形边长,默认是10
*/
@property (nonatomic,assign) CGFloat triangleSide;
/**
三角形位置的比例,默认是0.5
*/
@property (nonatomic,assign) CGFloat triangleSeatScale;
/**
三角形坐标Point
*/
@property (nonatomic,assign) CGPoint trianglePoint;
/**
弹出框倒角,默认是10
*/
@property (nonatomic,assign) CGFloat cornerRadius;
/**
弹出框背景颜色,默认是白色
*/
@property (nonatomic,strong) UIColor *popupBackgroundColor;
/**
弹出框大小
*/
@property (nonatomic,assign) CGSize size;
/**
在蒙层上显示弹出框
@param maskSuperView 蒙层父视图
*/
- (void)show:(UIView *)maskSuperView;
/**
弹出框消失
*/
- (void)dismiss;
/**
点击蒙层的时候,是否使弹出框消失
*/
@property (nonatomic,assign) BOOL dismissWhenClickMaskView;
/**
是否需要蒙层,默认有
*/
@property (nonatomic,assign) BOOL haveMaskView;
/**
蒙层透明度,默认是0.3
*/
@property (nonatomic,assign) CGFloat maskAlpha;