Files
featherVoice/QXLive/Third/TFPopup/TFPopupParam.h

169 lines
6.4 KiB
C
Raw Normal View History

2026-01-27 19:10:51 +08:00
//
// TFPopupParam.h
// TFPopupDemo
//
// Created by ztf on 2019/1/18.
// Copyright © 2019年 ztf. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
typedef NS_ENUM(NSInteger,PopupDirection) {
PopupDirectionContainerCenter = 0,
PopupDirectionTop,
PopupDirectionTopRight,
PopupDirectionRight,
PopupDirectionRightBottom,
PopupDirectionBottom,
PopupDirectionBottomLeft,
PopupDirectionLeft,
PopupDirectionLeftTop,
PopupDirectionFrame,
};
typedef NS_ENUM(NSInteger,DragStyle) {
DragStyleNone = 0,//不可拖拽
DragStyleToTop = 1 << 0,//可以向上拖拽,可自由组合其他三个方向
DragStyleToLeft = 1 << 1,//可以向左拖拽,可自由组合其他三个方向
DragStyleToRight = 1 << 2,//可以向右拖拽,可自由组合其他三个方向
DragStyleToBottom = 1 << 3,//可以向下拖拽,可自由组合其他三个方向
DragStyleFree = 1000,//可以向任何方向拖拽,但松手后不消失
};
typedef NS_ENUM(NSInteger,PopupStyle) {
PopupStyleNone = 0,
PopupStyleDefaultAlpha = 1 << 0,
PopupStyleDefaultFrame = 1 << 1,
PopupStyleExtensionMask = 1 << 2,
PopupStyleExtensionAniamtion = 1 << 3,
};
typedef NS_ENUM(NSInteger,TFPopupState) {
TFPopupStateShow = 0,
TFPopupStateHide,
};
@interface TFPopupParam : NSObject
/* 【全局属性】参数载体
object0,object1,object1,;
*/
@property(nonatomic,strong)id object0;
@property(nonatomic,strong)id object1;
@property(nonatomic,strong)id object2;
/* 【全局属性】时间
duration,default=0.3
showAnimationDelay,:
hideAnimationDelay,:
autoDissmissDuration,,default=0
animationOptions,frame动画的动画曲线default=UIViewAnimationOptionCurveEaseOut
*/
@property(nonatomic,assign)NSTimeInterval duration;
@property(nonatomic,assign)NSTimeInterval showAnimationDelay;
@property(nonatomic,assign)NSTimeInterval hideAnimationDelay;
@property(nonatomic,assign)NSTimeInterval autoDissmissDuration;
@property(nonatomic,assign)UIViewAnimationOptions animationOptions;
/* 【全局属性】背景
disuseBackground,使,default=NO,YES则自定义代理的方法也会被禁止
backgroundColor,,default=0.3alpha的黑色
backgroundColorClear,
disuseBackgroundTouchHide,
disuseShowBackgroundAlphaAnimation,使default=NO
disuseShowBackgroundAlphaAnimation,使default=NO
*/
@property(nonatomic,assign)BOOL disuseBackground;
@property(nonatomic,strong)UIColor *backgroundColor;
@property(nonatomic,assign)BOOL backgroundColorClear;
@property(nonatomic,assign)BOOL disuseBackgroundTouchHide;
@property(nonatomic,assign)BOOL disuseShowBackgroundAlphaAnimation;
@property(nonatomic,assign)BOOL disuseHideBackgroundAlphaAnimation;
/* 【全局属性】拖拽控制
dragEnable,,NO,YES时tf_showSlide的上下左右方向默认可以向消失的方向拖拽
dragStyle,/
dragBouncesEnable,
discernScrollEnable,view中包含scrollview时,
dragAutoDissmissMinDistance,,
*/
@property(nonatomic,assign)BOOL dragEnable;
@property(nonatomic,assign)DragStyle dragStyle;
@property(nonatomic,assign)BOOL dragBouncesEnable;
@property(nonatomic,assign)BOOL discernScrollEnable;
@property(nonatomic,assign)NSUInteger dragAutoDissmissMinDistance;
/* 【全局属性】弹框渐隐动画
disuseShowPopupAlphaAnimation,使default=NO
disuseHidePopupAlphaAnimation,使default=NO
disuseShowPopupFrameAnimation,使frame动画default=NO
disuseHidePopupFrameAnimation,使frame动画default=NO
*/
@property(nonatomic,assign)BOOL disuseShowPopupAlphaAnimation;
@property(nonatomic,assign)BOOL disuseHidePopupAlphaAnimation;
@property(nonatomic,assign)BOOL disuseShowPopupFrameAnimation;
@property(nonatomic,assign)BOOL disuseHidePopupFrameAnimation;
/* 【全局属性】弹框尺寸和区域
popupAreaRect,,default=bounds,
popupSize,,default=frame.size
offset,,offset.x正为右移,offset.y正为下移
popOriginFrame,frame
popTargetFrame,frame
keepPopupOriginFrame,frame不变,YES时,frame进行计算和操作
zIndex,0
*/
@property(nonatomic,assign)CGRect popupAreaRect;
@property(nonatomic,assign)CGSize popupSize;
@property(nonatomic,assign)CGPoint offset;
@property(nonatomic,assign)CGRect popOriginFrame;
@property(nonatomic,assign)CGRect popTargetFrame;
@property(nonatomic,assign)BOOL keepPopupOriginFrame;
@property(nonatomic,assign)NSInteger zIndex;
/* 【全局属性】属性动画 和 默认缩放动画冲突
showKeyPath,keyPath
showFromValue,
showToValue,,
hideKeyPath,keyPath
hideFromValue,
hideToValue,
*/
@property(nonatomic, copy)NSString *showKeyPath;
@property(nonatomic,strong)id showFromValue;
@property(nonatomic,strong)id showToValue;
@property(nonatomic, copy)NSString *hideKeyPath;
@property(nonatomic,strong)id hideFromValue;
@property(nonatomic,strong)id hideToValue;
/* 【泡泡弹出方式属性】
basePoint,
bubbleDirection,,
*/
@property(nonatomic,assign)CGPoint basePoint;
@property(nonatomic,assign)PopupDirection bubbleDirection;
/* 【全局属性】遮罩
maskShowFromPath,
maskShowToPath,
maskHideFromPath,maskShowToPath
maskHideToPath,maskShowFromPath
*/
@property(nonatomic,strong)UIBezierPath *maskShowFromPath;
@property(nonatomic,strong)UIBezierPath *maskShowToPath;
@property(nonatomic,strong)UIBezierPath *maskHideFromPath;
@property(nonatomic,strong)UIBezierPath *maskHideToPath;
@end