1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- //
- // H5CoreScreenEdgePan.h
- // libPDRCore
- //
- // Created by DCloud on 15/10/27.
- // Copyright © 2015年 DCloud. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- #import <UIKit/UIKit.h>
- NS_ASSUME_NONNULL_BEGIN
- @class H5CoreScreenEdgePan;
- @protocol H5CoreScreenEdgePanDelegate <NSObject>
- @required
- - (BOOL)screenEdgePan:(H5CoreScreenEdgePan*)edgePan
- shouldReceiveGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
- touch:(UITouch *__nullable)touch;
- @optional
- - (void)screenEdgePan:(H5CoreScreenEdgePan*)edgePan
- getParams:(void (^)(UIView * topView , NSArray * linkageViews, CGFloat duration))param;
- - (BOOL)screenEdgePan:(H5CoreScreenEdgePan*)edgePan handleScreenEdgePan:(UIScreenEdgePanGestureRecognizer*)recoginzer;
- - (void)screenEdgePan:(H5CoreScreenEdgePan*)edgePan recognizerEnd:(BOOL)cancel;
- - (void)screenEdgePan:(H5CoreScreenEdgePan*)edgePan recognizerStart:(CGFloat)progress;
- - (void)screenEdgePan:(H5CoreScreenEdgePan*)edgePan recognizerInProgress:(CGFloat)progress;
- @end
- typedef NS_ENUM(NSInteger, H5CoreScreenEdgePanType) {
- H5CoreScreenEdgePanTypeNo = 0,
- H5CoreScreenEdgePanTypeAppBack = 1,
- H5CoreScreenEdgePanTypeFreameBack,
- H5CoreScreenEdgePanTypeCustom
- };
- @interface H5CoreScreenEdgePan : NSObject<UIGestureRecognizerDelegate> {
- //UIGestureRecognizer *_gestrueRecongizer;
- UIView *_topView;
- UIImageView *_shadowImageView;
- //边缘滑动
- CGPoint _startTouch;
- CGPoint _lastTouch;
- CGFloat _topleftPosX;
- CGFloat _topViewSrcX;
- CGFloat _duration;
- NSMutableArray *_linkageViews;
- NSMutableDictionary *_presentViewsOriginLeft;
- BOOL _isMoving;
- UIView *_maskView;
- NSMutableDictionary *_userInfo;
- }
- @property(nonatomic, assign)UIView *gestureRecognizerView;
- @property(nonatomic, assign)UIGestureRecognizer *gestrueRecongizer;
- @property(nonatomic, assign)BOOL isRuning;
- @property(nonatomic, readonly)UIView *topView;
- @property(nonatomic, assign)H5CoreScreenEdgePanType panType;
- @property(nonatomic, assign, nullable)id<H5CoreScreenEdgePanDelegate> edgeDeleagete;
- - (void)setObject:(id)object forKey:(NSString*)aKey;
- - (id)objectForKey:(NSString*)aKey;
- - (void)removeObjectForKey:(NSString*)aKey;
- - (id)initWithGestureRecognizerView:(UIView*)view;
- - (void)resetGestureRecognizerView:(UIView*)view;
- - (void)removeGestureRecognizer;
- - (void)setEnable:(BOOL)enable;
- @end
- NS_ASSUME_NONNULL_END
|