You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.5 KiB
55 lines
1.5 KiB
// |
|
// OCBarrageContentView.h |
|
// TestApp |
|
// |
|
// Created by QMTV on 2017/8/22. |
|
// Copyright © 2017年 LFC. All rights reserved. |
|
// |
|
|
|
#import <UIKit/UIKit.h> |
|
#import "OCBarrageCell.h" |
|
|
|
NS_ASSUME_NONNULL_BEGIN |
|
|
|
typedef NS_ENUM(NSInteger, OCBarrageRenderStatus) { |
|
OCBarrageRenderStoped = 0, |
|
OCBarrageRenderStarted, |
|
OCBarrageRenderPaused |
|
}; |
|
|
|
@interface OCBarrageRenderView : UIView <CAAnimationDelegate> { |
|
NSMutableArray<OCBarrageCell *> *_animatingCells; |
|
NSMutableArray<OCBarrageCell *> *_idleCells; |
|
dispatch_semaphore_t _animatingCellsLock; |
|
dispatch_semaphore_t _idleCellsLock; |
|
dispatch_semaphore_t _trackInfoLock; |
|
OCBarrageCell *_lastestCell; |
|
UIView *_lowPositionView; |
|
UIView *_middlePositionView; |
|
UIView *_highPositionView; |
|
UIView *_veryHighPositionView; |
|
BOOL _autoClear; |
|
OCBarrageRenderStatus _renderStatus; |
|
NSMutableDictionary *_trackNextAvailableTime; |
|
} |
|
|
|
@property (nonatomic, strong, readonly) NSMutableArray<OCBarrageCell *> *animatingCells; |
|
@property (nonatomic, strong, readonly) NSMutableArray<OCBarrageCell *> *idleCells; |
|
@property (nonatomic, assign) OCBarrageRenderPositionStyle renderPositionStyle; |
|
@property (nonatomic, assign, readonly) OCBarrageRenderStatus renderStatus; |
|
|
|
- (nullable OCBarrageCell *)dequeueReusableCellWithClass:(Class)barrageCellClass; |
|
- (void)fireBarrageCell:(OCBarrageCell *)barrageCell; |
|
- (BOOL)trigerActionWithPoint:(CGPoint)touchPoint; |
|
|
|
@property (nonatomic, copy) void(^animationStopBlock)(void); |
|
|
|
- (void)start; |
|
- (void)pause; |
|
- (void)resume; |
|
- (void)stop; |
|
|
|
|
|
@end |
|
|
|
NS_ASSUME_NONNULL_END
|
|
|