-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathSTKGroupView.h
67 lines (50 loc) · 2.38 KB
/
STKGroupView.h
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
#import "STKGroup.h"
typedef NS_OPTIONS(NSUInteger, STKActivationMode) {
STKActivationModeNone = 0,
STKActivationModeSwipeUp = 1 << 1,
STKActivationModeSwipeDown = 1 << 2,
STKActivationModeDoubleTap = 1 << 3
};
#define STKActivationModeIsUpAndDown(_mode) (((_mode) & STKActivationModeSwipeUp) && ((_mode) & STKActivationModeSwipeDown))
@protocol STKGroupViewDelegate;
@protocol STKIconViewSource;
@class SBIconView, STKGroup;
@interface STKGroupView : UIView <STKGroupObserver, UIGestureRecognizerDelegate>
- (instancetype)initWithGroup:(STKGroup *)group iconViewSource:(id<STKIconViewSource>)iconViewSource;
@property (nonatomic, retain) STKGroup *group;
@property (nonatomic, assign) STKActivationMode activationMode;
@property (nonatomic, assign) BOOL showPreview;
@property (nonatomic, assign) BOOL showGrabbers;
@property (nonatomic, assign) id<STKGroupViewDelegate> delegate;
@property (nonatomic, assign) id<STKIconViewSource> iconViewSource;
@property (nonatomic, readonly) BOOL isOpen;
@property (nonatomic, readonly) BOOL isAnimating;
@property (nonatomic, readonly) STKGroupLayout *subappLayout;
@property (nonatomic, readonly) STKGroupLayout *displacedIconLayout;
@property (nonatomic, readonly) UIView *topGrabberView;
@property (nonatomic, readonly) UIView *bottomGrabberView;
- (void)open;
- (void)openWithCompletionHandler:(void(^)(void))completion;
- (void)close;
- (void)closeWithCompletionHandler:(void(^)(void))completion;
- (void)resetLayouts;
- (SBIconView *)subappIconViewForIcon:(SBIcon *)icon;
- (void)resetImageViewScale;
@end
@protocol STKGroupViewDelegate <SBIconViewDelegate>
@required
- (BOOL)shouldGroupViewOpen:(STKGroupView *)groupView;
- (BOOL)groupView:(STKGroupView *)groupView shouldRecognizeGesturesSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)recognizer;
@optional
- (void)groupView:(STKGroupView *)groupView didMoveToOffset:(CGFloat)offset;
- (void)groupViewWillOpen:(STKGroupView *)groupView;
- (void)groupViewDidOpen:(STKGroupView *)groupView;
- (void)groupViewWillClose:(STKGroupView *)groupView;
- (void)groupViewDidClose:(STKGroupView *)groupView;
- (void)groupViewWillBeDestroyed:(STKGroupView *)groupView;
@end
@protocol STKIconViewSource <NSObject>
@required
- (SBIconView *)groupView:(STKGroupView *)groupView wantsIconViewForIcon:(SBIcon *)icon;
- (void)groupView:(STKGroupView *)groupView willRelinquishIconView:(SBIconView *)iconView;
@end