75 lines
2.5 KiB
C
75 lines
2.5 KiB
C
|
|
//
|
||
|
|
// TUIPhotoPreviewCell.h
|
||
|
|
// TUIPhotoPreviewCell
|
||
|
|
//
|
||
|
|
// Created by lynx on 2024/8/21.
|
||
|
|
// Copyright © 2024 Tencent. All rights reserved.
|
||
|
|
//
|
||
|
|
#import <UIKit/UIKit.h>
|
||
|
|
#import <TUIMultimediaCore/TUIAssetModel.h>
|
||
|
|
#import <TUIMultimediaCore/TUIProgressView.h>
|
||
|
|
|
||
|
|
@interface TUIAssetPreviewCell : UICollectionViewCell
|
||
|
|
@property (nonatomic, strong) TUIAssetModel *model;
|
||
|
|
@property (nonatomic, copy) void (^singleTapGestureBlock)(void);
|
||
|
|
- (void)configSubviews;
|
||
|
|
- (void)photoPreviewCollectionViewDidScroll;
|
||
|
|
@end
|
||
|
|
|
||
|
|
|
||
|
|
@class TUIPhotoPreviewView;
|
||
|
|
@interface TUIPhotoPreviewCell : TUIAssetPreviewCell
|
||
|
|
|
||
|
|
@property (nonatomic, copy) void (^imageProgressUpdateBlock)(double progress);
|
||
|
|
|
||
|
|
@property (nonatomic, strong) TUIPhotoPreviewView *previewView;
|
||
|
|
|
||
|
|
@property (nonatomic, assign) BOOL allowCrop;
|
||
|
|
@property (nonatomic, assign) CGRect cropRect;
|
||
|
|
@property (nonatomic, assign) BOOL scaleAspectFillCrop;
|
||
|
|
|
||
|
|
- (void)recoverSubviews;
|
||
|
|
|
||
|
|
@end
|
||
|
|
|
||
|
|
|
||
|
|
@interface TUIPhotoPreviewView : UIView
|
||
|
|
@property (nonatomic, strong) UIImageView *imageView;
|
||
|
|
@property (nonatomic, strong) UIScrollView *scrollView;
|
||
|
|
@property (nonatomic, strong) UIView *imageContainerView;
|
||
|
|
@property (nonatomic, strong) TUIProgressView *progressView;
|
||
|
|
@property (nonatomic, strong) UIImageView *iCloudErrorIcon;
|
||
|
|
@property (nonatomic, strong) UILabel *iCloudErrorLabel;
|
||
|
|
@property (nonatomic, copy) void (^iCloudSyncFailedHandle)(id asset, BOOL isSyncFailed);
|
||
|
|
|
||
|
|
@property (nonatomic, assign) CGRect cropRect;
|
||
|
|
@property (nonatomic, assign) BOOL scaleAspectFillCrop;
|
||
|
|
@property (nonatomic, strong) TUIAssetModel *model;
|
||
|
|
@property (nonatomic, strong) id asset;
|
||
|
|
@property (nonatomic, copy) void (^singleTapGestureBlock)(void);
|
||
|
|
@property (nonatomic, copy) void (^imageProgressUpdateBlock)(double progress);
|
||
|
|
|
||
|
|
@property (nonatomic, assign) int32_t imageRequestID;
|
||
|
|
|
||
|
|
- (void)recoverSubviews;
|
||
|
|
@end
|
||
|
|
|
||
|
|
|
||
|
|
@class AVPlayer, AVPlayerLayer;
|
||
|
|
@interface TUIVideoPreviewCell : TUIAssetPreviewCell
|
||
|
|
@property (strong, nonatomic) AVPlayer *player;
|
||
|
|
@property (strong, nonatomic) AVPlayerLayer *playerLayer;
|
||
|
|
@property (strong, nonatomic) UIButton *playButton;
|
||
|
|
@property (strong, nonatomic) UIImage *cover;
|
||
|
|
@property (nonatomic, strong) NSURL *videoURL;
|
||
|
|
@property (nonatomic, strong) UIImageView *iCloudErrorIcon;
|
||
|
|
@property (nonatomic, strong) UILabel *iCloudErrorLabel;
|
||
|
|
@property (nonatomic, copy) void (^iCloudSyncFailedHandle)(id asset, BOOL isSyncFailed);
|
||
|
|
- (void)pausePlayerAndShowNaviBar;
|
||
|
|
@end
|
||
|
|
|
||
|
|
|
||
|
|
@interface TUIGifPreviewCell : TUIAssetPreviewCell
|
||
|
|
@property (strong, nonatomic) TUIPhotoPreviewView *previewView;
|
||
|
|
@end
|