luozhiping

# 最新相册选择器 0.0.1

Showing 100 changed files with 2300 additions and 0 deletions

Too many changes to show.

To preserve performance only 100 of 100+ files are displayed.

No preview for this file type
// Generated by Apple Swift version 5.5.1 (swiftlang-1300.0.31.4 clang-1300.0.29.6)
#ifndef HHPHOTOPICKER_SWIFT_H
#define HHPHOTOPICKER_SWIFT_H
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wgcc-compat"
#if !defined(__has_include)
# define __has_include(x) 0
#endif
#if !defined(__has_attribute)
# define __has_attribute(x) 0
#endif
#if !defined(__has_feature)
# define __has_feature(x) 0
#endif
#if !defined(__has_warning)
# define __has_warning(x) 0
#endif
#if __has_include(<swift/objc-prologue.h>)
# include <swift/objc-prologue.h>
#endif
#pragma clang diagnostic ignored "-Wauto-import"
#include <Foundation/Foundation.h>
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
#if !defined(SWIFT_TYPEDEFS)
# define SWIFT_TYPEDEFS 1
# if __has_include(<uchar.h>)
# include <uchar.h>
# elif !defined(__cplusplus)
typedef uint_least16_t char16_t;
typedef uint_least32_t char32_t;
# endif
typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
#endif
#if !defined(SWIFT_PASTE)
# define SWIFT_PASTE_HELPER(x, y) x##y
# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
#endif
#if !defined(SWIFT_METATYPE)
# define SWIFT_METATYPE(X) Class
#endif
#if !defined(SWIFT_CLASS_PROPERTY)
# if __has_feature(objc_class_property)
# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
# else
# define SWIFT_CLASS_PROPERTY(...)
# endif
#endif
#if __has_attribute(objc_runtime_name)
# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
#else
# define SWIFT_RUNTIME_NAME(X)
#endif
#if __has_attribute(swift_name)
# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
#else
# define SWIFT_COMPILE_NAME(X)
#endif
#if __has_attribute(objc_method_family)
# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
#else
# define SWIFT_METHOD_FAMILY(X)
#endif
#if __has_attribute(noescape)
# define SWIFT_NOESCAPE __attribute__((noescape))
#else
# define SWIFT_NOESCAPE
#endif
#if __has_attribute(ns_consumed)
# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
#else
# define SWIFT_RELEASES_ARGUMENT
#endif
#if __has_attribute(warn_unused_result)
# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
#else
# define SWIFT_WARN_UNUSED_RESULT
#endif
#if __has_attribute(noreturn)
# define SWIFT_NORETURN __attribute__((noreturn))
#else
# define SWIFT_NORETURN
#endif
#if !defined(SWIFT_CLASS_EXTRA)
# define SWIFT_CLASS_EXTRA
#endif
#if !defined(SWIFT_PROTOCOL_EXTRA)
# define SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_ENUM_EXTRA)
# define SWIFT_ENUM_EXTRA
#endif
#if !defined(SWIFT_CLASS)
# if __has_attribute(objc_subclassing_restricted)
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# else
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# endif
#endif
#if !defined(SWIFT_RESILIENT_CLASS)
# if __has_attribute(objc_class_stub)
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
# else
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
# endif
#endif
#if !defined(SWIFT_PROTOCOL)
# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_EXTENSION)
# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
#endif
#if !defined(OBJC_DESIGNATED_INITIALIZER)
# if __has_attribute(objc_designated_initializer)
# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
# else
# define OBJC_DESIGNATED_INITIALIZER
# endif
#endif
#if !defined(SWIFT_ENUM_ATTR)
# if defined(__has_attribute) && __has_attribute(enum_extensibility)
# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
# else
# define SWIFT_ENUM_ATTR(_extensibility)
# endif
#endif
#if !defined(SWIFT_ENUM)
# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# if __has_feature(generalized_swift_name)
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# else
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif
#endif
#if !defined(SWIFT_UNAVAILABLE)
# define SWIFT_UNAVAILABLE __attribute__((unavailable))
#endif
#if !defined(SWIFT_UNAVAILABLE_MSG)
# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
#endif
#if !defined(SWIFT_AVAILABILITY)
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
#endif
#if !defined(SWIFT_WEAK_IMPORT)
# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
#endif
#if !defined(SWIFT_DEPRECATED)
# define SWIFT_DEPRECATED __attribute__((deprecated))
#endif
#if !defined(SWIFT_DEPRECATED_MSG)
# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
#endif
#if __has_feature(attribute_diagnose_if_objc)
# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
#else
# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
#endif
#if !defined(IBSegueAction)
# define IBSegueAction
#endif
#if __has_feature(modules)
#if __has_warning("-Watimport-in-framework-header")
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
#endif
@import AVFoundation;
@import CoreFoundation;
@import CoreGraphics;
@import CoreMedia;
@import Foundation;
@import ObjectiveC;
@import Photos;
@import QuartzCore;
@import UIKit;
#endif
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute")
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
#endif
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma clang diagnostic ignored "-Wnullability"
#if __has_attribute(external_source_symbol)
# pragma push_macro("any")
# undef any
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="HHPhotoPicker",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif
SWIFT_CLASS("_TtC13HHPhotoPicker20HHPhotoPickerManager")
@interface HHPhotoPickerManager : NSObject
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end
@class UIEvent;
@class NSNumber;
@interface UIControl (SWIFT_EXTENSION(HHPhotoPicker))
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent * _Nullable)event SWIFT_WARN_UNUSED_RESULT;
@end
SWIFT_CLASS("_TtC13HHPhotoPicker16ZLAlbumListModel")
@interface ZLAlbumListModel : NSObject
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end
enum CaptureSessionPreset : NSInteger;
enum FocusMode : NSInteger;
enum ExposureMode : NSInteger;
enum FlashMode : NSInteger;
enum VideoExportType : NSInteger;
SWIFT_CLASS("_TtC13HHPhotoPicker21ZLCameraConfiguration")
@interface ZLCameraConfiguration : NSObject
/// Video resolution. Defaults to hd1280x720.
@property (nonatomic) enum CaptureSessionPreset sessionPreset;
/// Camera focus mode. Defaults to continuousAutoFocus
@property (nonatomic) enum FocusMode focusMode;
/// Camera exposure mode. Defaults to continuousAutoExposure
@property (nonatomic) enum ExposureMode exposureMode;
/// Camera flahs mode. Default is off. Defaults to off.
@property (nonatomic) enum FlashMode flashMode;
/// Video export format for recording video and editing video. Defaults to mov.
@property (nonatomic) enum VideoExportType videoExportType;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
typedef SWIFT_ENUM(NSInteger, CaptureSessionPreset, closed) {
CaptureSessionPresetCif352x288 = 0,
CaptureSessionPresetVga640x480 = 1,
CaptureSessionPresetHd1280x720 = 2,
CaptureSessionPresetHd1920x1080 = 3,
CaptureSessionPresetHd4K3840x2160 = 4,
};
typedef SWIFT_ENUM(NSInteger, FocusMode, closed) {
FocusModeAutoFocus = 0,
FocusModeContinuousAutoFocus = 1,
};
typedef SWIFT_ENUM(NSInteger, ExposureMode, closed) {
ExposureModeAutoExpose = 0,
ExposureModeContinuousAutoExposure = 1,
};
typedef SWIFT_ENUM(NSInteger, FlashMode, closed) {
FlashModeAuto = 0,
FlashModeOn = 1,
FlashModeOff = 2,
};
typedef SWIFT_ENUM(NSInteger, VideoExportType, closed) {
VideoExportTypeMov = 0,
VideoExportTypeMp4 = 1,
};
@class UIImage;
@class NSURL;
@class NSCoder;
@class CAAnimation;
@class NSString;
@class NSBundle;
SWIFT_CLASS("_TtC13HHPhotoPicker14ZLCustomCamera")
@interface ZLCustomCamera : UIViewController <CAAnimationDelegate>
@property (nonatomic, copy) void (^ _Nullable takeDoneBlock)(UIImage * _Nullable, NSURL * _Nullable);
@property (nonatomic, copy) void (^ _Nullable cancelBlock)(void);
@property (nonatomic, readonly) UIInterfaceOrientationMask supportedInterfaceOrientations;
@property (nonatomic, readonly) BOOL prefersStatusBarHidden;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
- (void)viewDidLoad;
- (void)viewDidAppear:(BOOL)animated;
- (void)viewWillDisappear:(BOOL)animated;
- (void)viewDidDisappear:(BOOL)animated;
- (void)viewDidLayoutSubviews;
- (void)animationDidStop:(CAAnimation * _Nonnull)anim finished:(BOOL)flag;
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil SWIFT_UNAVAILABLE;
@end
@class UIGestureRecognizer;
@interface ZLCustomCamera (SWIFT_EXTENSION(HHPhotoPicker)) <UIGestureRecognizerDelegate>
- (BOOL)gestureRecognizer:(UIGestureRecognizer * _Nonnull)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer * _Nonnull)otherGestureRecognizer SWIFT_WARN_UNUSED_RESULT;
@end
@class AVCapturePhotoOutput;
@class AVCaptureResolvedPhotoSettings;
@class AVCaptureBracketedStillImageSettings;
@interface ZLCustomCamera (SWIFT_EXTENSION(HHPhotoPicker)) <AVCapturePhotoCaptureDelegate>
- (void)captureOutput:(AVCapturePhotoOutput * _Nonnull)output willCapturePhotoForResolvedSettings:(AVCaptureResolvedPhotoSettings * _Nonnull)resolvedSettings;
- (void)captureOutput:(AVCapturePhotoOutput * _Nonnull)output didFinishProcessingPhotoSampleBuffer:(CMSampleBufferRef _Nullable)photoSampleBuffer previewPhotoSampleBuffer:(CMSampleBufferRef _Nullable)previewPhotoSampleBuffer resolvedSettings:(AVCaptureResolvedPhotoSettings * _Nonnull)resolvedSettings bracketSettings:(AVCaptureBracketedStillImageSettings * _Nullable)bracketSettings error:(NSError * _Nullable)error;
@end
@class AVCaptureFileOutput;
@class AVCaptureConnection;
@interface ZLCustomCamera (SWIFT_EXTENSION(HHPhotoPicker)) <AVCaptureFileOutputRecordingDelegate>
- (void)captureOutput:(AVCaptureFileOutput * _Nonnull)output didStartRecordingToOutputFileAtURL:(NSURL * _Nonnull)fileURL fromConnections:(NSArray<AVCaptureConnection *> * _Nonnull)connections;
- (void)captureOutput:(AVCaptureFileOutput * _Nonnull)output didFinishRecordingToOutputFileAtURL:(NSURL * _Nonnull)outputFileURL fromConnections:(NSArray<AVCaptureConnection *> * _Nonnull)connections error:(NSError * _Nullable)error;
@end
SWIFT_CLASS("_TtC13HHPhotoPicker10ZLDrawPath")
@interface ZLDrawPath : NSObject
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end
@class UIColor;
@class ZLImageClipRatio;
@class ZLFilter;
@class UIView;
@protocol ZLImageStickerContainerDelegate;
SWIFT_CLASS("_TtC13HHPhotoPicker24ZLEditImageConfiguration")
@interface ZLEditImageConfiguration : NSObject
/// Edit image tools. (This property is only for objc).
/// warning:
/// If you want to use the image sticker feature, you must provide a view that implements ZLImageStickerContainerDelegate.
@property (nonatomic, copy) NSArray<NSNumber *> * _Nonnull tools_objc;
/// Draw colors for image editor.
@property (nonatomic, copy) NSArray<UIColor *> * _Nonnull drawColors;
/// The default draw color. If this color not in editImageDrawColors, will pick the first color in editImageDrawColors as the default.
@property (nonatomic, strong) UIColor * _Nonnull defaultDrawColor;
/// Edit ratios for image editor.
@property (nonatomic, copy) NSArray<ZLImageClipRatio *> * _Nonnull clipRatios;
/// Text sticker colors for image editor.
@property (nonatomic, copy) NSArray<UIColor *> * _Nonnull textStickerTextColors;
/// The default text sticker color. If this color not in textStickerTextColors, will pick the first color in textStickerTextColors as the default.
@property (nonatomic, strong) UIColor * _Nonnull textStickerDefaultTextColor;
/// Filters for image editor.
@property (nonatomic, copy) NSArray<ZLFilter *> * _Nonnull filters;
@property (nonatomic, strong) UIView <ZLImageStickerContainerDelegate> * _Nullable imageStickerContainerView;
/// Adjust image tools. (This property is only for objc).
/// Valid when the tools contain EditTool.adjust
@property (nonatomic, copy) NSArray<NSNumber *> * _Nonnull adjustTools_objc;
/// Give an impact feedback when the adjust slider value is zero. Defaults to true.
@property (nonatomic) BOOL impactFeedbackWhenAdjustSliderValueIsZero;
/// Impact feedback style. Defaults to .medium
@property (nonatomic) UIImpactFeedbackStyle impactFeedbackStyle;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
typedef SWIFT_ENUM(NSInteger, EditTool, closed) {
EditToolDraw = 0,
EditToolClip = 1,
EditToolImageSticker = 2,
EditToolTextSticker = 3,
EditToolMosaic = 4,
EditToolFilter = 5,
EditToolAdjust = 6,
};
typedef SWIFT_ENUM(NSInteger, AdjustTool, closed) {
AdjustToolBrightness = 0,
AdjustToolContrast = 1,
AdjustToolSaturation = 2,
};
SWIFT_CLASS("_TtC13HHPhotoPicker16ZLEditImageModel")
@interface ZLEditImageModel : NSObject
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end
@class UIButton;
@class UIScrollView;
@class CAGradientLayer;
@class UIImageView;
SWIFT_CLASS("_TtC13HHPhotoPicker25ZLEditImageViewController")
@interface ZLEditImageViewController : UIViewController
@property (nonatomic) CGFloat drawColViewH;
@property (nonatomic) CGFloat filterColViewH;
@property (nonatomic) CGFloat adjustColViewH;
@property (nonatomic, strong) UIColor * _Nonnull ashbinNormalBgColor;
@property (nonatomic, strong) UIButton * _Nonnull cancelBtn;
@property (nonatomic, strong) UIScrollView * _Nonnull mainScrollView;
@property (nonatomic, strong) UIView * _Nonnull topShadowView;
@property (nonatomic, strong) CAGradientLayer * _Nonnull topShadowLayer;
@property (nonatomic, strong) UIView * _Nonnull bottomShadowView;
@property (nonatomic, strong) CAGradientLayer * _Nonnull bottomShadowLayer;
@property (nonatomic, strong) UIButton * _Nonnull doneBtn;
@property (nonatomic, strong) UIButton * _Nonnull revokeBtn;
@property (nonatomic, strong) UIView * _Nonnull ashbinView;
@property (nonatomic, strong) UIImageView * _Nonnull ashbinImgView;
@property (nonatomic) CGFloat drawLineWidth;
@property (nonatomic) CGFloat mosaicLineWidth;
@property (nonatomic, copy) void (^ _Nullable editFinishBlock)(UIImage * _Nonnull, ZLEditImageModel * _Nullable);
@property (nonatomic, copy) void (^ _Nullable cancelEditBlock)(void);
@property (nonatomic, readonly) BOOL prefersStatusBarHidden;
@property (nonatomic, readonly) UIInterfaceOrientationMask supportedInterfaceOrientations;
+ (void)showEditImageVCWithParentVC:(UIViewController * _Nullable)parentVC animate:(BOOL)animate image:(UIImage * _Nonnull)image editModel:(ZLEditImageModel * _Nullable)editModel cancel:(void (^ _Nullable)(void))cancel completion:(void (^ _Nullable)(UIImage * _Nonnull, ZLEditImageModel * _Nullable))completion;
- (nonnull instancetype)initWithImage:(UIImage * _Nonnull)image editModel:(ZLEditImageModel * _Nullable)editModel OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
- (void)viewDidLoad;
- (void)viewDidLayoutSubviews;
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil SWIFT_UNAVAILABLE;
@end
@interface ZLEditImageViewController (SWIFT_EXTENSION(HHPhotoPicker)) <UIGestureRecognizerDelegate>
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer * _Nonnull)gestureRecognizer SWIFT_WARN_UNUSED_RESULT;
@end
@class UICollectionView;
@class NSIndexPath;
@class UICollectionViewCell;
@interface ZLEditImageViewController (SWIFT_EXTENSION(HHPhotoPicker)) <UICollectionViewDataSource, UICollectionViewDelegate>
- (NSInteger)collectionView:(UICollectionView * _Nonnull)collectionView numberOfItemsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT;
- (UICollectionViewCell * _Nonnull)collectionView:(UICollectionView * _Nonnull)collectionView cellForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT;
- (void)collectionView:(UICollectionView * _Nonnull)collectionView didSelectItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath;
@end
@interface ZLEditImageViewController (SWIFT_EXTENSION(HHPhotoPicker)) <UIScrollViewDelegate>
- (UIView * _Nullable)viewForZoomingInScrollView:(UIScrollView * _Nonnull)scrollView SWIFT_WARN_UNUSED_RESULT;
- (void)scrollViewDidZoom:(UIScrollView * _Nonnull)scrollView;
- (void)scrollViewDidEndZooming:(UIScrollView * _Nonnull)scrollView withView:(UIView * _Nullable)view atScale:(CGFloat)scale;
- (void)scrollViewDidScroll:(UIScrollView * _Nonnull)scrollView;
- (void)scrollViewDidEndDragging:(UIScrollView * _Nonnull)scrollView willDecelerate:(BOOL)decelerate;
- (void)scrollViewDidEndDecelerating:(UIScrollView * _Nonnull)scrollView;
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView * _Nonnull)scrollView;
@end
@class AVAsset;
SWIFT_CLASS("_TtC13HHPhotoPicker25ZLEditVideoViewController")
@interface ZLEditVideoViewController : UIViewController
@property (nonatomic, copy) void (^ _Nullable editFinishBlock)(NSURL * _Nullable);
@property (nonatomic, readonly) BOOL prefersStatusBarHidden;
@property (nonatomic, readonly) UIInterfaceOrientationMask supportedInterfaceOrientations;
/// initialize
/// \param avAsset AVAsset对象,需要传入本地视频,网络视频不支持
///
/// \param animateDismiss 退出界面时是否显示dismiss动画
///
- (nonnull instancetype)initWithAvAsset:(AVAsset * _Nonnull)avAsset animateDismiss:(BOOL)animateDismiss OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
- (void)viewDidLoad;
- (void)viewDidAppear:(BOOL)animated;
- (void)viewDidLayoutSubviews;
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil SWIFT_UNAVAILABLE;
@end
@interface ZLEditVideoViewController (SWIFT_EXTENSION(HHPhotoPicker)) <UIGestureRecognizerDelegate>
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer * _Nonnull)gestureRecognizer SWIFT_WARN_UNUSED_RESULT;
@end
@class UICollectionViewLayout;
@interface ZLEditVideoViewController (SWIFT_EXTENSION(HHPhotoPicker)) <UICollectionViewDataSource, UICollectionViewDelegateFlowLayout>
- (void)scrollViewDidScroll:(UIScrollView * _Nonnull)scrollView;
- (void)scrollViewDidEndDragging:(UIScrollView * _Nonnull)scrollView willDecelerate:(BOOL)decelerate;
- (void)scrollViewDidEndDecelerating:(UIScrollView * _Nonnull)scrollView;
- (UIEdgeInsets)collectionView:(UICollectionView * _Nonnull)collectionView layout:(UICollectionViewLayout * _Nonnull)collectionViewLayout insetForSectionAtIndex:(NSInteger)section SWIFT_WARN_UNUSED_RESULT;
- (NSInteger)collectionView:(UICollectionView * _Nonnull)collectionView numberOfItemsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT;
- (UICollectionViewCell * _Nonnull)collectionView:(UICollectionView * _Nonnull)collectionView cellForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT;
- (void)collectionView:(UICollectionView * _Nonnull)collectionView willDisplayCell:(UICollectionViewCell * _Nonnull)cell forItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath;
@end
enum ZLFilterType : NSInteger;
SWIFT_CLASS("_TtC13HHPhotoPicker8ZLFilter")
@interface ZLFilter : NSObject
- (nonnull instancetype)initWithName:(NSString * _Nonnull)name filterType:(enum ZLFilterType)filterType OBJC_DESIGNATED_INITIALIZER;
/// 可传入 applier 自定义滤镜
- (nonnull instancetype)initWithName:(NSString * _Nonnull)name applier:(UIImage * _Nonnull (^ _Nullable)(UIImage * _Nonnull))applier OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end
@interface ZLFilter (SWIFT_EXTENSION(HHPhotoPicker))
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSArray<ZLFilter *> * _Nonnull all;)
+ (NSArray<ZLFilter *> * _Nonnull)all SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull normal;)
+ (ZLFilter * _Nonnull)normal SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull clarendon;)
+ (ZLFilter * _Nonnull)clarendon SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull nashville;)
+ (ZLFilter * _Nonnull)nashville SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull apply1977;)
+ (ZLFilter * _Nonnull)apply1977 SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull toaster;)
+ (ZLFilter * _Nonnull)toaster SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull chrome;)
+ (ZLFilter * _Nonnull)chrome SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull fade;)
+ (ZLFilter * _Nonnull)fade SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull instant;)
+ (ZLFilter * _Nonnull)instant SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull process;)
+ (ZLFilter * _Nonnull)process SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull transfer;)
+ (ZLFilter * _Nonnull)transfer SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull tone;)
+ (ZLFilter * _Nonnull)tone SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull linear;)
+ (ZLFilter * _Nonnull)linear SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull sepia;)
+ (ZLFilter * _Nonnull)sepia SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull mono;)
+ (ZLFilter * _Nonnull)mono SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull noir;)
+ (ZLFilter * _Nonnull)noir SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull tonal;)
+ (ZLFilter * _Nonnull)tonal SWIFT_WARN_UNUSED_RESULT;
@end
typedef SWIFT_ENUM(NSInteger, ZLFilterType, closed) {
ZLFilterTypeNormal = 0,
ZLFilterTypeChrome = 1,
ZLFilterTypeFade = 2,
ZLFilterTypeInstant = 3,
ZLFilterTypeProcess = 4,
ZLFilterTypeTransfer = 5,
ZLFilterTypeTone = 6,
ZLFilterTypeLinear = 7,
ZLFilterTypeSepia = 8,
ZLFilterTypeMono = 9,
ZLFilterTypeNoir = 10,
ZLFilterTypeTonal = 11,
};
SWIFT_CLASS("_TtC13HHPhotoPicker16ZLImageClipRatio")
@interface ZLImageClipRatio : NSObject
- (nonnull instancetype)initWithTitle:(NSString * _Nonnull)title whRatio:(CGFloat)whRatio isCircle:(BOOL)isCircle OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end
@interface ZLImageClipRatio (SWIFT_EXTENSION(HHPhotoPicker))
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLImageClipRatio * _Nonnull custom;)
+ (ZLImageClipRatio * _Nonnull)custom SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLImageClipRatio * _Nonnull circle;)
+ (ZLImageClipRatio * _Nonnull)circle SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLImageClipRatio * _Nonnull wh1x1;)
+ (ZLImageClipRatio * _Nonnull)wh1x1 SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLImageClipRatio * _Nonnull wh3x4;)
+ (ZLImageClipRatio * _Nonnull)wh3x4 SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLImageClipRatio * _Nonnull wh4x3;)
+ (ZLImageClipRatio * _Nonnull)wh4x3 SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLImageClipRatio * _Nonnull wh2x3;)
+ (ZLImageClipRatio * _Nonnull)wh2x3 SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLImageClipRatio * _Nonnull wh3x2;)
+ (ZLImageClipRatio * _Nonnull)wh3x2 SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLImageClipRatio * _Nonnull wh9x16;)
+ (ZLImageClipRatio * _Nonnull)wh9x16 SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLImageClipRatio * _Nonnull wh16x9;)
+ (ZLImageClipRatio * _Nonnull)wh16x9 SWIFT_WARN_UNUSED_RESULT;
@end
enum ZLURLType : NSInteger;
SWIFT_CLASS("_TtC13HHPhotoPicker24ZLImagePreviewController")
@interface ZLImagePreviewController : UIViewController
@property (nonatomic, copy) void (^ _Nullable longPressBlock)(ZLImagePreviewController * _Nullable, UIImage * _Nullable, NSInteger);
@property (nonatomic, copy) void (^ _Nullable doneBlock)(NSArray * _Nonnull);
@property (nonatomic, copy) NSDictionary<NSString *, id> * _Nullable videoHttpHeader;
@property (nonatomic, readonly) BOOL prefersStatusBarHidden;
@property (nonatomic, readonly) UIStatusBarStyle preferredStatusBarStyle;
/// \param datas Must be one of PHAsset, UIImage and URL, will filter others in init function.
///
/// \param showBottomView If showSelectBtn is true, showBottomView is always true.
///
/// \param index Index for first display.
///
/// \param urlType Tell me the url is image or video.
///
/// \param urlImageLoader Called when cell will display, cell will layout after callback when image load finish. The first block is progress callback, second is load finish callback.
///
- (nonnull instancetype)initWithDatas:(NSArray * _Nonnull)datas index:(NSInteger)index showSelectBtn:(BOOL)showSelectBtn showBottomView:(BOOL)showBottomView urlType:(enum ZLURLType (^ _Nullable)(NSURL * _Nonnull))urlType urlImageLoader:(void (^ _Nullable)(NSURL * _Nonnull, UIImageView * _Nonnull, void (^ _Nonnull)(CGFloat), void (^ _Nonnull)(void)))urlImageLoader OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
- (void)viewDidLoad;
- (void)viewWillAppear:(BOOL)animated;
- (void)viewDidAppear:(BOOL)animated;
- (void)viewDidLayoutSubviews;
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil SWIFT_UNAVAILABLE;
@end
@interface ZLImagePreviewController (SWIFT_EXTENSION(HHPhotoPicker))
- (void)scrollViewDidScroll:(UIScrollView * _Nonnull)scrollView;
- (void)scrollViewDidEndDecelerating:(UIScrollView * _Nonnull)scrollView;
@end
@interface ZLImagePreviewController (SWIFT_EXTENSION(HHPhotoPicker)) <UICollectionViewDataSource, UICollectionViewDelegateFlowLayout>
- (CGFloat)collectionView:(UICollectionView * _Nonnull)collectionView layout:(UICollectionViewLayout * _Nonnull)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section SWIFT_WARN_UNUSED_RESULT;
- (CGFloat)collectionView:(UICollectionView * _Nonnull)collectionView layout:(UICollectionViewLayout * _Nonnull)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section SWIFT_WARN_UNUSED_RESULT;
- (UIEdgeInsets)collectionView:(UICollectionView * _Nonnull)collectionView layout:(UICollectionViewLayout * _Nonnull)collectionViewLayout insetForSectionAtIndex:(NSInteger)section SWIFT_WARN_UNUSED_RESULT;
- (CGSize)collectionView:(UICollectionView * _Nonnull)collectionView layout:(UICollectionViewLayout * _Nonnull)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT;
- (NSInteger)collectionView:(UICollectionView * _Nonnull)collectionView numberOfItemsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT;
- (UICollectionViewCell * _Nonnull)collectionView:(UICollectionView * _Nonnull)collectionView cellForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT;
- (void)collectionView:(UICollectionView * _Nonnull)collectionView didEndDisplayingCell:(UICollectionViewCell * _Nonnull)cell forItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath;
@end
SWIFT_PROTOCOL("_TtP13HHPhotoPicker31ZLImageStickerContainerDelegate_")
@protocol ZLImageStickerContainerDelegate
@property (nonatomic, copy) void (^ _Nullable selectImageBlock)(UIImage * _Nonnull);
@property (nonatomic, copy) void (^ _Nullable hideBlock)(void);
- (void)showIn:(UIView * _Nonnull)view;
@end
SWIFT_CLASS("_TtC13HHPhotoPicker19ZLImageStickerState")
@interface ZLImageStickerState : NSObject
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end
typedef SWIFT_ENUM(NSInteger, ZLLanguageType, closed) {
ZLLanguageTypeSystem = 0,
ZLLanguageTypeChineseSimplified = 1,
ZLLanguageTypeChineseTraditional = 2,
ZLLanguageTypeEnglish = 3,
ZLLanguageTypeJapanese = 4,
ZLLanguageTypeFrench = 5,
ZLLanguageTypeGerman = 6,
ZLLanguageTypeRussian = 7,
ZLLanguageTypeVietnamese = 8,
ZLLanguageTypeKorean = 9,
ZLLanguageTypeMalay = 10,
ZLLanguageTypeItalian = 11,
ZLLanguageTypeIndonesian = 12,
ZLLanguageTypePortuguese = 13,
ZLLanguageTypeSpanish = 14,
ZLLanguageTypeTurkish = 15,
};
SWIFT_CLASS("_TtC13HHPhotoPicker12ZLMosaicPath")
@interface ZLMosaicPath : NSObject
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end
typedef SWIFT_ENUM(NSInteger, ZLNoAuthorityType, closed) {
ZLNoAuthorityTypeLibrary = 0,
ZLNoAuthorityTypeCamera = 1,
ZLNoAuthorityTypeMicrophone = 2,
};
typedef SWIFT_ENUM(NSInteger, ZLPhotoBrowserStyle, closed) {
/// The album list is embedded in the navigation of the thumbnail interface, click the drop-down display.
ZLPhotoBrowserStyleEmbedAlbumList = 0,
/// The display relationship between the album list and the thumbnail interface is push.
ZLPhotoBrowserStyleExternalAlbumList = 1,
};
enum CancelButtonStyle : NSInteger;
enum HUDStyle : NSInteger;
@class PHAsset;
SWIFT_CLASS("_TtC13HHPhotoPicker20ZLPhotoConfiguration")
@interface ZLPhotoConfiguration : NSObject
+ (ZLPhotoConfiguration * _Nonnull)default SWIFT_WARN_UNUSED_RESULT;
+ (void)resetConfiguration;
/// Framework style.
@property (nonatomic) enum ZLPhotoBrowserStyle style;
@property (nonatomic) UIStatusBarStyle statusBarStyle;
/// text: Cancel. image: ‘x’. Default to text.
@property (nonatomic) enum CancelButtonStyle navCancelButtonStyle;
/// Photo sorting method, the preview interface is not affected by this parameter. Defaults to true.
@property (nonatomic) BOOL sortAscending;
/// Anything superior than 1 will enable the multiple selection feature. Defaults to 9.
@property (nonatomic) NSInteger maxSelectCount;
/// A count for video max selection. Defaults to 0.
/// warning:
/// Only valid in mix selection mode. (i.e. allowMixSelect = true)
@property (nonatomic) NSInteger maxVideoSelectCount;
/// A count for video min selection. Defaults to 0.
/// warning:
/// Only valid in mix selection mode. (i.e. allowMixSelect = true)
@property (nonatomic) NSInteger minVideoSelectCount;
/// Whether photos and videos can be selected together. Defaults to true.
/// If set to false, only one video can be selected. Defaults to true.
@property (nonatomic) BOOL allowMixSelect;
/// Preview selection max preview count, if the value is zero, only show <code>Camera</code>, <code>Album</code>, <code>Cancel</code> buttons. Defaults to 20.
@property (nonatomic) NSInteger maxPreviewCount;
@property (nonatomic) CGFloat cellCornerRadio;
/// If set to false, gif and livephoto cannot be selected either. Defaults to true.
@property (nonatomic) BOOL allowSelectImage;
@property (nonatomic) BOOL allowSelectVideo;
/// Allow select Gif, it only controls whether it is displayed in Gif form.
/// If value is false, the Gif logo is not displayed. Defaults to true.
@property (nonatomic) BOOL allowSelectGif;
/// Allow select LivePhoto, it only controls whether it is displayed in LivePhoto form.
/// If value is false, the LivePhoto logo is not displayed. Defaults to false.
@property (nonatomic) BOOL allowSelectLivePhoto;
/// Allow take photos in the album. Defaults to true.
/// warning:
/// If allowTakePhoto and allowRecordVideo are both false, it will not be displayed.
@property (nonatomic) BOOL allowTakePhotoInLibrary;
@property (nonatomic) BOOL allowEditImage;
@property (nonatomic) BOOL allowEditVideo;
/// Control whether to display the selection button animation when selecting. Defaults to true.
@property (nonatomic) BOOL animateSelectBtnWhenSelect;
/// Animation duration for select button
@property (nonatomic) CFTimeInterval selectBtnAnimationDuration;
/// After selecting a image/video in the thumbnail interface, enter the editing interface directly. Defaults to false.
/// <ul>
/// <li>
/// discussion: Editing image is only valid when allowEditImage is true and maxSelectCount is 1.
/// Editing video is only valid when allowEditVideo is true and maxSelectCount is 1.
/// </li>
/// </ul>
@property (nonatomic) BOOL editAfterSelectThumbnailImage;
/// Only valid when allowMixSelect is false and allowEditVideo is true. Defaults to true.
/// Just like the Wechat-Timeline selection style. If you want to crop the video after select thumbnail under allowMixSelect = true, please use <em>editAfterSelectThumbnailImage</em>.
@property (nonatomic) BOOL cropVideoAfterSelectThumbnail;
/// If image edit tools only has clip and this property is true. When you click edit, the cropping interface (i.e. ZLClipImageViewController) will be displayed. Defaults to false.
@property (nonatomic) BOOL showClipDirectlyIfOnlyHasClipTool;
/// Save the edited image to the album after editing. Defaults to true.
@property (nonatomic) BOOL saveNewImageAfterEdit;
/// If true, you can slide select photos in album. Defaults to true.
@property (nonatomic) BOOL allowSlideSelect;
/// When slide select is active, will auto scroll to top or bottom when your finger at the top or bottom. Defaults to true.
@property (nonatomic) BOOL autoScrollWhenSlideSelectIsActive;
/// The max speed (pt/s) of auto scroll. Defaults to 600.
@property (nonatomic) CGFloat autoScrollMaxSpeed;
/// If true, you can drag select photo when preview selection style. Defaults to false.
@property (nonatomic) BOOL allowDragSelect;
/// Allow select full image. Defaults to true.
@property (nonatomic) BOOL allowSelectOriginal;
/// Allow access to the preview large image interface (That is, whether to allow access to the large image interface after clicking the thumbnail image). Defaults to true.
@property (nonatomic) BOOL allowPreviewPhotos;
/// Whether to show the status bar when previewing photos. Defaults to false.
@property (nonatomic) BOOL showStatusBarInPreviewInterface;
/// Whether to show the preview button (i.e. the preview button in the lower left corner of the thumbnail interface). Defaults to true.
@property (nonatomic) BOOL showPreviewButtonInAlbum;
/// Whether to display the selected count on the button. Defaults to true.
@property (nonatomic) BOOL showSelectCountOnDoneBtn;
/// The column count when iPhone is in portait mode. Minimum is 2, maximum is 6. Defaults to 4.
/// \code
/// iPhone landscape mode: columnCount += 2.
/// iPad portait mode: columnCount += 2.
/// iPad landscape mode: columnCount += 4.
///
/// \endcode
@property (nonatomic) NSInteger columnCount;
/// Maximum cropping time when editing video, unit: second. Defaults to 10.
@property (nonatomic) NSInteger maxEditVideoTime;
/// Allow to choose the maximum duration of the video. Defaults to 120.
@property (nonatomic) NSInteger maxSelectVideoDuration;
/// Allow to choose the minimum duration of the video. Defaults to 0.
@property (nonatomic) NSInteger minSelectVideoDuration;
/// Image editor configuration.
@property (nonatomic, strong) ZLEditImageConfiguration * _Nonnull editImageConfiguration;
@property (nonatomic, copy) NSArray<UIColor *> * _Nonnull editImageDrawColors SWIFT_DEPRECATED_MSG("Use editImageConfiguration, this property will be removed");
@property (nonatomic, strong) UIColor * _Nonnull editImageDefaultDrawColor SWIFT_DEPRECATED_MSG("Use editImageConfiguration, this property will be removed");
@property (nonatomic, copy) NSArray<ZLImageClipRatio *> * _Nonnull editImageClipRatios SWIFT_DEPRECATED_MSG("Use editImageConfiguration, this property will be removed");
@property (nonatomic, copy) NSArray<UIColor *> * _Nonnull textStickerTextColors SWIFT_DEPRECATED_MSG("Use editImageConfiguration, this property will be removed");
@property (nonatomic, strong) UIColor * _Nonnull textStickerDefaultTextColor SWIFT_DEPRECATED_MSG("Use editImageConfiguration, this property will be removed");
@property (nonatomic, copy) NSArray<ZLFilter *> * _Nonnull filters SWIFT_DEPRECATED_MSG("Use editImageConfiguration, this property will be removed");
@property (nonatomic, strong) UIView <ZLImageStickerContainerDelegate> * _Nullable imageStickerContainerView SWIFT_DEPRECATED_MSG("Use editImageConfiguration, this property will be removed");
/// Show the image captured by the camera is displayed on the camera button inside the album. Defaults to false.
@property (nonatomic) BOOL showCaptureImageOnTakePhotoBtn;
/// In single selection mode, whether to display the selection button. Defaults to false.
@property (nonatomic) BOOL showSelectBtnWhenSingleSelect;
/// Overlay a mask layer on top of the selected photos. Defaults to true.
@property (nonatomic) BOOL showSelectedMask;
/// Display a border on the selected photos cell. Defaults to false.
@property (nonatomic) BOOL showSelectedBorder;
/// Overlay a mask layer above the cells that cannot be selected. Defaults to true.
@property (nonatomic) BOOL showInvalidMask;
/// Display the index of the selected photos. Defaults to true.
@property (nonatomic) BOOL showSelectedIndex;
/// Display the selected photos at the bottom of the preview large photos interface. Defaults to true.
@property (nonatomic) BOOL showSelectedPhotoPreview;
/// Allow framework fetch photos when callback. Defaults to true.
@property (nonatomic) BOOL shouldAnialysisAsset;
/// Timeout for image parsing. Defaults to 20.
@property (nonatomic) NSTimeInterval timeout;
/// Language for framework.
@property (nonatomic) enum ZLLanguageType languageType;
/// Whether to use custom camera. Defaults to true.
@property (nonatomic) BOOL useCustomCamera;
/// Allow taking photos in the camera (Need allowSelectImage to be true). Defaults to true.
@property (nonatomic) BOOL allowTakePhoto;
/// Allow recording in the camera (Need allowSelectVideo to be true). Defaults to true.
@property (nonatomic) BOOL allowRecordVideo;
/// Minimum recording duration. Defaults to 0.
@property (nonatomic) NSInteger minRecordDuration;
/// Maximum recording duration. Defaults to 10, minimum is 1.
@property (nonatomic) NSInteger maxRecordDuration;
/// The configuration for camera.
@property (nonatomic, strong) ZLCameraConfiguration * _Nonnull cameraConfiguration;
/// Hud style. Defaults to lightBlur.
@property (nonatomic) enum HUDStyle hudStyle;
/// This block will be called before selecting an image, the developer can first determine whether the asset is allowed to be selected.
/// Only control whether it is allowed to be selected, and will not affect the selection logic in the framework.
/// <ul>
/// <li>
/// Tips: If the choice is not allowed, the developer can toast prompt the user for relevant information.
/// </li>
/// </ul>
@property (nonatomic, copy) BOOL (^ _Nullable canSelectAsset)(PHAsset * _Nonnull);
/// If user choose limited Photo mode, a button with ‘+’ will be added to the ZLThumbnailViewController. It will call PHPhotoLibrary.shared().presentLimitedLibraryPicker(from:) to add photo. Defaults to true.
/// E.g., Sina Weibo’s ImagePicker
@property (nonatomic) BOOL showAddPhotoButton;
/// iOS14 limited Photo mode, will show collection footer view in ZLThumbnailViewController.
/// Will go to system setting if clicked. Defaults to true.
@property (nonatomic) BOOL showEnterSettingTips;
/// Callback after the no authority alert dismiss.
@property (nonatomic, copy) void (^ _Nullable noAuthorityCallback)(enum ZLNoAuthorityType);
/// Allow user to do something before select photo result callback.
/// And you must call the second parameter of this block to continue the photos selection.
/// The first parameter is the current controller.
/// The second parameter is the block that needs to be called after the user completes the operation.
@property (nonatomic, copy) void (^ _Nullable operateBeforeDoneAction)(UIViewController * _Nonnull, void (^ _Nonnull)(void));
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
typedef SWIFT_ENUM(NSInteger, CancelButtonStyle, closed) {
CancelButtonStyleText = 0,
CancelButtonStyleImage = 1,
};
@interface ZLPhotoConfiguration (SWIFT_EXTENSION(HHPhotoPicker))
- (ZLPhotoConfiguration * _Nonnull)allowSelectVideo:(BOOL)value;
- (ZLPhotoConfiguration * _Nonnull)canSelectAsset:(BOOL (^ _Nullable)(PHAsset * _Nonnull))block;
- (ZLPhotoConfiguration * _Nonnull)showAddPhotoButton:(BOOL)value;
- (ZLPhotoConfiguration * _Nonnull)showEnterSettingTips:(BOOL)value;
- (ZLPhotoConfiguration * _Nonnull)noAuthorityCallback:(void (^ _Nullable)(enum ZLNoAuthorityType))callback;
- (ZLPhotoConfiguration * _Nonnull)operateBeforeDoneAction:(void (^ _Nullable)(UIViewController * _Nonnull, void (^ _Nonnull)(void)))block;
@end
@class ZLPhotoModel;
@class NSData;
@class PHLivePhoto;
@class AVPlayerItem;
SWIFT_CLASS("_TtC13HHPhotoPicker14ZLPhotoManager")
@interface ZLPhotoManager : NSObject
/// Save image to album.
+ (void)saveImageToAlbumWithImage:(UIImage * _Nonnull)image completion:(void (^ _Nullable)(BOOL, PHAsset * _Nullable))completion;
/// Save video to album.
+ (void)saveVideoToAlbumWithUrl:(NSURL * _Nonnull)url completion:(void (^ _Nullable)(BOOL, PHAsset * _Nullable))completion;
/// Fetch photos from result.
+ (NSArray<ZLPhotoModel *> * _Nonnull)fetchPhotoIn:(PHFetchResult<PHAsset *> * _Nonnull)result ascending:(BOOL)ascending allowSelectImage:(BOOL)allowSelectImage allowSelectVideo:(BOOL)allowSelectVideo limitCount:(NSInteger)limitCount SWIFT_WARN_UNUSED_RESULT;
/// Fetch all album list.
+ (void)getPhotoAlbumListWithAscending:(BOOL)ascending allowSelectImage:(BOOL)allowSelectImage allowSelectVideo:(BOOL)allowSelectVideo completion:(SWIFT_NOESCAPE void (^ _Nonnull)(NSArray<ZLAlbumListModel *> * _Nonnull))completion;
/// Fetch camera roll album.
+ (void)getCameraRollAlbumWithAllowSelectImage:(BOOL)allowSelectImage allowSelectVideo:(BOOL)allowSelectVideo completion:(void (^ _Nonnull)(ZLAlbumListModel * _Nonnull))completion;
+ (PHImageRequestID)fetchImageFor:(PHAsset * _Nonnull)asset size:(CGSize)size progress:(void (^ _Nullable)(CGFloat, NSError * _Nullable, BOOL * _Nonnull, NSDictionary * _Nullable))progress completion:(void (^ _Nonnull)(UIImage * _Nullable, BOOL))completion;
+ (PHImageRequestID)fetchOriginalImageFor:(PHAsset * _Nonnull)asset progress:(void (^ _Nullable)(CGFloat, NSError * _Nullable, BOOL * _Nonnull, NSDictionary * _Nullable))progress completion:(void (^ _Nonnull)(UIImage * _Nullable, BOOL))completion;
/// Fetch asset data.
+ (PHImageRequestID)fetchOriginalImageDataFor:(PHAsset * _Nonnull)asset progress:(void (^ _Nullable)(CGFloat, NSError * _Nullable, BOOL * _Nonnull, NSDictionary * _Nullable))progress completion:(void (^ _Nonnull)(NSData * _Nonnull, NSDictionary * _Nullable, BOOL))completion;
+ (PHImageRequestID)fetchLivePhotoFor:(PHAsset * _Nonnull)asset completion:(void (^ _Nonnull)(PHLivePhoto * _Nullable, NSDictionary * _Nullable, BOOL))completion SWIFT_WARN_UNUSED_RESULT;
+ (PHImageRequestID)fetchVideoFor:(PHAsset * _Nonnull)asset progress:(void (^ _Nullable)(CGFloat, NSError * _Nullable, BOOL * _Nonnull, NSDictionary * _Nullable))progress completion:(void (^ _Nonnull)(AVPlayerItem * _Nullable, NSDictionary * _Nullable, BOOL))completion SWIFT_WARN_UNUSED_RESULT;
+ (PHImageRequestID)fetchAVAssetForVideo:(PHAsset * _Nonnull)asset completion:(void (^ _Nonnull)(AVAsset * _Nullable, NSDictionary * _Nullable))completion SWIFT_WARN_UNUSED_RESULT;
/// Fetch asset local file path.
+ (void)fetchAssetFilePathWithAsset:(PHAsset * _Nonnull)asset completion:(void (^ _Nonnull)(NSString * _Nullable))completion;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
@interface ZLPhotoManager (SWIFT_EXTENSION(HHPhotoPicker))
+ (BOOL)hasPhotoLibratyAuthority SWIFT_WARN_UNUSED_RESULT;
+ (BOOL)hasCameraAuthority SWIFT_WARN_UNUSED_RESULT;
+ (BOOL)hasMicrophoneAuthority SWIFT_WARN_UNUSED_RESULT;
@end
SWIFT_CLASS("_TtC13HHPhotoPicker12ZLPhotoModel")
@interface ZLPhotoModel : NSObject
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end
SWIFT_CLASS("_TtC13HHPhotoPicker19ZLPhotoPreviewSheet")
@interface ZLPhotoPreviewSheet : UIView
/// Success callback
/// block params
/// <ul>
/// <li>
/// params1: images for asset.
/// </li>
/// <li>
/// params2: selected assets
/// </li>
/// <li>
/// params3: is full image
/// </li>
/// </ul>
@property (nonatomic, copy) void (^ _Nullable selectImageBlock)(NSArray<UIImage *> * _Nonnull, NSArray<PHAsset *> * _Nonnull, BOOL);
/// Callback for photos that failed to parse
/// block params
/// <ul>
/// <li>
/// params1: failed assets.
/// </li>
/// <li>
/// params2: index for asset
/// </li>
/// </ul>
@property (nonatomic, copy) void (^ _Nullable selectImageRequestErrorBlock)(NSArray<PHAsset *> * _Nonnull, NSArray<NSNumber *> * _Nonnull);
@property (nonatomic, copy) void (^ _Nullable cancelBlock)(void);
- (nonnull instancetype)initWithFrame:(CGRect)frame;
/// \param selectedAssets preselected assets
///
- (nonnull instancetype)initWithSelectedAssets:(NSArray<PHAsset *> * _Nullable)selectedAssets OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
- (void)layoutSubviews;
- (void)showPreviewWithAnimate:(BOOL)animate sender:(UIViewController * _Nonnull)sender;
- (void)showPhotoLibraryWithSender:(UIViewController * _Nonnull)sender;
/// 传入已选择的assets,并预览
- (void)previewAssetsWithSender:(UIViewController * _Nonnull)sender assets:(NSArray<PHAsset *> * _Nonnull)assets index:(NSInteger)index isOriginal:(BOOL)isOriginal showBottomViewAndSelectBtn:(BOOL)showBottomViewAndSelectBtn;
@end
@interface ZLPhotoPreviewSheet (SWIFT_EXTENSION(HHPhotoPicker)) <UIGestureRecognizerDelegate>
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer * _Nonnull)gestureRecognizer SWIFT_WARN_UNUSED_RESULT;
@end
@class PHChange;
@interface ZLPhotoPreviewSheet (SWIFT_EXTENSION(HHPhotoPicker)) <PHPhotoLibraryChangeObserver>
- (void)photoLibraryDidChange:(PHChange * _Nonnull)changeInstance;
@end
@class UIImagePickerController;
@interface ZLPhotoPreviewSheet (SWIFT_EXTENSION(HHPhotoPicker)) <UIImagePickerControllerDelegate, UINavigationControllerDelegate>
- (void)imagePickerController:(UIImagePickerController * _Nonnull)picker didFinishPickingMediaWithInfo:(NSDictionary<UIImagePickerControllerInfoKey, id> * _Nonnull)info;
@end
@interface ZLPhotoPreviewSheet (SWIFT_EXTENSION(HHPhotoPicker)) <UICollectionViewDataSource, UICollectionViewDelegateFlowLayout>
- (CGSize)collectionView:(UICollectionView * _Nonnull)collectionView layout:(UICollectionViewLayout * _Nonnull)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT;
- (NSInteger)collectionView:(UICollectionView * _Nonnull)collectionView numberOfItemsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT;
- (UICollectionViewCell * _Nonnull)collectionView:(UICollectionView * _Nonnull)collectionView cellForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT;
- (void)collectionView:(UICollectionView * _Nonnull)collectionView willDisplayCell:(UICollectionViewCell * _Nonnull)cell forItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath;
- (void)collectionView:(UICollectionView * _Nonnull)collectionView didSelectItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath;
@end
@class UIBlurEffect;
/// Custom UI configuration (include colors, images, text, font)
SWIFT_CLASS("_TtC13HHPhotoPicker22ZLPhotoUIConfiguration")
@interface ZLPhotoUIConfiguration : NSObject
+ (ZLPhotoUIConfiguration * _Nonnull)default SWIFT_WARN_UNUSED_RESULT;
+ (void)resetConfiguration;
/// The blur effect of the navigation bar in the album list
@property (nonatomic, strong) UIBlurEffect * _Nullable navViewBlurEffectOfAlbumList;
/// The blur effect of the navigation bar in the preview interface
@property (nonatomic, strong) UIBlurEffect * _Nullable navViewBlurEffectOfPreview;
/// The blur effect of the bottom tool bar in the album list
@property (nonatomic, strong) UIBlurEffect * _Nullable bottomViewBlurEffectOfAlbumList;
/// The blur effect of the bottom tool bar in the preview interface
@property (nonatomic, strong) UIBlurEffect * _Nullable bottomViewBlurEffectOfPreview;
/// Developers can customize images, but the name of the custom image resource must be consistent with the image name in the replaced bundle.
/// <ul>
/// <li>
/// example: Developers need to replace the selected and unselected image resources, and the array that needs to be passed in is
/// [“zl_btn_selected”, “zl_btn_unselected”].
/// </li>
/// </ul>
@property (nonatomic, copy) NSArray<NSString *> * _Nonnull customImageNames;
/// Developers can customize images, but the name of the custom image resource must be consistent with the image name in the replaced bundle.
/// <ul>
/// <li>
/// example: Developers need to replace the selected and unselected image resources, and the array that needs to be passed in is
/// [“zl_btn_selected”: selectedImage, “zl_btn_unselected”: unselectedImage].
/// </li>
/// </ul>
@property (nonatomic, copy) NSDictionary<NSString *, UIImage *> * _Nonnull customImageForKey_objc;
/// Developers can customize languages (This property is only for objc).
/// warning:
/// Please pay attention to the placeholders contained in languages when changing, such as %ld, %@.
/// <ul>
/// <li>
/// example: If you needs to replace
/// key: @“loading”, value: @“loading, waiting please” language,
/// The dictionary that needs to be passed in is @[@“loading”: @“text to be replaced”].
/// </li>
/// </ul>
@property (nonatomic, copy) NSDictionary<NSString *, NSString *> * _Nonnull customLanguageKeyValue_objc;
/// Font name.
@property (nonatomic, copy) NSString * _Nullable themeFontName;
/// Preview selection mode, translucent background color above.
/// 预览快速选择模式下,上方透明区域背景色
@property (nonatomic, strong) UIColor * _Nonnull sheetTranslucentColor;
/// Preview selection mode, a background color for <code>Camera</code>, <code>Album</code>, <code>Cancel</code> buttons.
/// 预览快速选择模式下,按钮背景颜色
@property (nonatomic, strong) UIColor * _Nonnull sheetBtnBgColor;
/// Preview selection mode, a text color for <code>Camera</code>, <code>Album</code>, <code>Cancel</code> buttons.
/// 预览快速选择模式下,按钮标题颜色
@property (nonatomic, strong) UIColor * _Nonnull sheetBtnTitleColor;
/// Preview selection mode, cancel button title color when the selection amount is superior than 0.
/// 预览快速选择模式下,按钮标题高亮颜色
@property (nonatomic, strong) UIColor * _Nonnull sheetBtnTitleTintColor;
/// A color for navigation bar.
/// 相册列表及小图界面导航条背景色
@property (nonatomic, strong) UIColor * _Nonnull navBarColor;
/// A color for navigation bar in preview interface.
/// 预览大图界面的导航条背景色
@property (nonatomic, strong) UIColor * _Nonnull navBarColorOfPreviewVC;
/// A color for Navigation bar text.
/// 相册列表及小图界面导航栏标题颜色
@property (nonatomic, strong) UIColor * _Nonnull navTitleColor;
/// A color for Navigation bar text of preview vc.
/// 预览大图界面导航栏标题颜色
@property (nonatomic, strong) UIColor * _Nonnull navTitleColorOfPreviewVC;
/// The background color of the title view when the frame style is embedAlbumList.
/// 下拉选择相册列表模式下,选择区域的背景色
@property (nonatomic, strong) UIColor * _Nonnull navEmbedTitleViewBgColor;
/// A color for background in album list.
/// 相册列表背景色
@property (nonatomic, strong) UIColor * _Nonnull albumListBgColor;
/// A color of the translucent area below the embed album list.
/// 嵌入式相册列表下方透明区域颜色
@property (nonatomic, strong) UIColor * _Nonnull embedAlbumListTranslucentColor;
/// A color for album list title label.
/// 相册列表标题颜色
@property (nonatomic, strong) UIColor * _Nonnull albumListTitleColor;
/// A color for album list count label.
/// 相册列表数量label的颜色
@property (nonatomic, strong) UIColor * _Nonnull albumListCountColor;
/// A color for album list separator.
/// 相册列表分割线颜色
@property (nonatomic, strong) UIColor * _Nonnull separatorColor;
/// A color for background in thumbnail interface.
/// 相册小图界面背景色
@property (nonatomic, strong) UIColor * _Nonnull thumbnailBgColor;
/// A color for background in preview interface..
/// 预览大图界面背景色
@property (nonatomic, strong) UIColor * _Nonnull previewVCBgColor;
/// A color for background in bottom tool view.
/// 相册小图界面底部工具条背景色
@property (nonatomic, strong) UIColor * _Nonnull bottomToolViewBgColor;
/// A color for background in bottom tool view in preview interface.
/// 预览大图界面底部工具条背景色
@property (nonatomic, strong) UIColor * _Nonnull bottomToolViewBgColorOfPreviewVC;
/// The normal state title color of bottom tool view buttons. Without done button.
/// 相册小图界面底部按钮可交互状态下标题颜色,不包括 <code>完成</code> 按钮
@property (nonatomic, strong) UIColor * _Nonnull bottomToolViewBtnNormalTitleColor;
/// The normal state title color of bottom tool view done button.
/// 相册小图界面底部 <code>完成</code> 按钮可交互状态下标题颜色
@property (nonatomic, strong) UIColor * _Nonnull bottomToolViewDoneBtnNormalTitleColor;
/// The normal state title color of bottom tool view buttons in preview interface. Without done button.
/// 预览大图界面底部按钮可交互状态下标题颜色,不包括 <code>完成</code> 按钮
@property (nonatomic, strong) UIColor * _Nonnull bottomToolViewBtnNormalTitleColorOfPreviewVC;
/// The normal state title color of bottom tool view done button.
/// 预览大图界面底部 <code>完成</code> 按钮可交互状态下标题颜色
@property (nonatomic, strong) UIColor * _Nonnull bottomToolViewDoneBtnNormalTitleColorOfPreviewVC;
/// The disable state title color of bottom tool view buttons. Without done button.
/// 相册小图界面底部按钮不可交互状态下标题颜色,不包括 <code>完成</code> 按钮
@property (nonatomic, strong) UIColor * _Nonnull bottomToolViewBtnDisableTitleColor;
/// The disable state title color of bottom tool view done button.
/// 相册小图界面底部 <code>完成</code> 按钮不可交互状态下标题颜色
@property (nonatomic, strong) UIColor * _Nonnull bottomToolViewDoneBtnDisableTitleColor;
/// The disable state title color of bottom tool view buttons in preview interface. Without done button.
/// 预览大图界面底部按钮不可交互状态下标题颜色,不包括 <code>完成</code> 按钮
@property (nonatomic, strong) UIColor * _Nonnull bottomToolViewBtnDisableTitleColorOfPreviewVC;
/// The disable state title color of bottom tool view done button in preview interface.
/// 预览大图界面底部 <code>完成</code> 按钮不可交互状态下标题颜色
@property (nonatomic, strong) UIColor * _Nonnull bottomToolViewDoneBtnDisableTitleColorOfPreviewVC;
/// The normal state background color of bottom tool view buttons.
/// 相册小图界面底部按钮可交互状态下背景色
@property (nonatomic, strong) UIColor * _Nonnull bottomToolViewBtnNormalBgColor;
/// The normal state background color of bottom tool view buttons in preview interface.
/// 预览大图界面底部按钮可交互状态下背景色
@property (nonatomic, strong) UIColor * _Nonnull bottomToolViewBtnNormalBgColorOfPreviewVC;
/// The disable state background color of bottom tool view buttons.
/// 相册小图界面底部按钮不可交互状态下背景色
@property (nonatomic, strong) UIColor * _Nonnull bottomToolViewBtnDisableBgColor;
/// The disable state background color of bottom tool view buttons in preview interface.
/// 预览大图界面底部按钮不可交互状态下背景色
@property (nonatomic, strong) UIColor * _Nonnull bottomToolViewBtnDisableBgColorOfPreviewVC;
/// With iOS14 limited authority, a color for select more photos at the bottom of the thumbnail interface.
/// iOS14 limited权限下,下方提示选择更多图片信息文字的颜色
@property (nonatomic, strong) UIColor * _Nonnull selectMorePhotoWhenAuthIsLismitedTitleColor;
/// The record progress color of custom camera.
/// 自定义相机录制视频时进度条颜色
@property (nonatomic, strong) UIColor * _Nonnull cameraRecodeProgressColor;
/// Mask layer color of selected cell.
/// 已选择照片上方遮罩阴影颜色
@property (nonatomic, strong) UIColor * _Nonnull selectedMaskColor;
/// Border color of selected cell.
/// 已选择照片border颜色
@property (nonatomic, strong) UIColor * _Nonnull selectedBorderColor;
/// Mask layer color of the cell that cannot be selected.
/// 不可选的照片上方遮罩阴影颜色
@property (nonatomic, strong) UIColor * _Nonnull invalidMaskColor;
/// The text color of selected cell index label.
/// 已选照片右上角序号label背景色
@property (nonatomic, strong) UIColor * _Nonnull indexLabelTextColor;
/// The background color of selected cell index label.
/// 已选照片右上角序号label背景色
@property (nonatomic, strong) UIColor * _Nonnull indexLabelBgColor;
/// The background color of camera cell inside album.
/// 相册小图界面拍照按钮背景色
@property (nonatomic, strong) UIColor * _Nonnull cameraCellBgColor;
/// The normal color of adjust slider.
/// 编辑图片,调整饱和度、对比度、亮度时,右侧slider背景色
@property (nonatomic, strong) UIColor * _Nonnull adjustSliderNormalColor;
/// The tint color of adjust slider.
/// 编辑图片,调整饱和度、对比度、亮度时,右侧slider背景高亮色
@property (nonatomic, strong) UIColor * _Nonnull adjustSliderTintColor;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
SWIFT_CLASS("_TtC13HHPhotoPicker13ZLProgressHUD")
@interface ZLProgressHUD : UIView
- (nonnull instancetype)initWithStyle:(enum HUDStyle)style OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
- (void)showWithTimeout:(NSTimeInterval)timeout;
- (void)hide;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end
typedef SWIFT_ENUM(NSInteger, HUDStyle, closed) {
HUDStyleLight = 0,
HUDStyleLightBlur = 1,
HUDStyleDark = 2,
HUDStyleDarkBlur = 3,
};
SWIFT_CLASS("_TtC13HHPhotoPicker18ZLTextStickerState")
@interface ZLTextStickerState : NSObject
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end
typedef SWIFT_ENUM(NSInteger, ZLURLType, closed) {
ZLURLTypeImage = 0,
ZLURLTypeVideo = 1,
};
SWIFT_CLASS("_TtC13HHPhotoPicker14ZLVideoManager")
@interface ZLVideoManager : NSObject
/// 没有针对不同分辨率视频做处理,仅用于处理相机拍照的视频
+ (void)mergeVideosWithFileUrls:(NSArray<NSURL *> * _Nonnull)fileUrls completion:(void (^ _Nonnull)(NSURL * _Nullable, NSError * _Nullable))completion;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
@interface ZLVideoManager (SWIFT_EXTENSION(HHPhotoPicker))
@end
typedef SWIFT_ENUM(NSInteger, ExportType, closed) {
ExportTypeMov = 0,
ExportTypeMp4 = 1,
};
@interface ZLVideoManager (SWIFT_EXTENSION(HHPhotoPicker))
+ (void)exportVideoFor:(PHAsset * _Nonnull)asset exportType:(enum ExportType)exportType presetName:(NSString * _Nonnull)presetName complete:(void (^ _Nonnull)(NSURL * _Nullable, NSError * _Nullable))complete;
+ (void)exportVideoFor:(AVAsset * _Nonnull)asset range:(CMTimeRange)range exportType:(enum ExportType)exportType presetName:(NSString * _Nonnull)presetName complete:(void (^ _Nonnull)(NSURL * _Nullable, NSError * _Nullable))complete;
@end
#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#pragma clang diagnostic pop
#endif
... ...
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
//#import "ZLPhotoBrowser.h"
FOUNDATION_EXPORT double HHPhotoPickerVersionNumber;
FOUNDATION_EXPORT const unsigned char HHPhotoPickerVersionString[];
... ...
No preview for this file type
framework module HHPhotoPicker {
umbrella header "HHPhotoPicker-umbrella.h"
export *
module * { export * }
}
module HHPhotoPicker.Swift {
header "HHPhotoPicker-Swift.h"
requires objc
}
... ...
"previewCamera" = "Kamera";
"previewCameraRecord" = "Aufzeichnung";
"previewAlbum" = "Album";
"cancel" = "Stornieren";
"originalPhoto" = "Vollbild";
"done" = "Erledigt";
"ok" = "in Ordnung";
"editFinish" = "Fertig";
"back" = "Zurück";
"edit" = "Bearbeiten";
"revert" = "Rückgängig";
"brightness" = "Helligkeit";
"contrast" = "Kontrast";
"saturation" = "Sättigung";
"photo" = "Fotos";
"preview" = "Vorschau";
"noPhotoTips" = "Keine Fotos";
"notAllowMixSelect" = "Video kann nicht ausgewählt werden";
"loading" = "Laden, bitte warten";
"hudLoading" = "warten...";
"exceededMaxSelectCount" = "Maximale Auswahlanzahl: %ld";
"longerThanMaxVideoDuration" = "Video mit einer Dauer von mehr als %lds kann nicht ausgewählt werden";
"shorterThanMaxVideoDuration" = "Video mit einer Dauer von weniger als %lds kann nicht ausgewählt werden";
"exceededMaxVideoSelectCount" = "Video max Auswahlanzahl: %ld";
"lessThanMinVideoSelectCount" = "Video min Auswahlanzahl: %ld";
"noCameraAuthority" = "Bitte erlauben Sie %@, auf die Kamera Ihres Geräts unter \"Einstellungen\" > \"Datenschutz\" > \"Kamera\" zuzugreifen";
"noPhotoLibratyAuthority" = "Bitte erlauben Sie %@, auf Ihr Album unter \"Einstellungen\" > \"Datenschutz\" > \"Fotos\" zuzugreifen";
"noMicrophoneAuthority" = "Audio kann nicht aufgenommen werden. Gehen Sie zu \"Einstellungen\" > \"%@\" und aktivieren Sie den Mikrofonzugriff.";
"cameraUnavailable" = "Kamera ist nicht verfügbar";
"keepRecording" = "Aufnahme behalten";
"gotoSettings" = "Zu Einstellungen wechseln";
"iCloudVideoLoadFaild" = "Synchronisierung von iCloud nicht möglich";
"imageLoadFailed" = "Laden fehlgeschlagen";
"save" = "Sparen";
"saveImageError" = "Das Bild konnte nicht gespeichert werden";
"saveVideoError" = "Das Video konnte nicht gespeichert werden";
"timeout" = "Zeitüberschreitung der Anforderung";
"customCameraTips" = "Tippen, um Fotos aufzunehmen und halten, um ein Video aufzunehmen";
"customCameraTakePhotoTips" = "Tippen, um ein Foto aufzunehmen";
"customCameraRecordVideoTips" = "Halten Sie gedrückt, um ein Video aufzunehmen";
"minRecordTimeTips" = "Nehmen Sie mindestens %lds auf";
"cameraRoll" = "Letzte";
"panoramas" = "Panoramen";
"videos" = "Videos";
"favorites" = "Favoriten";
"timelapses" = "Zeitraffer";
"recentlyAdded" = "Kürzlich hinzugefügt";
"bursts" = "Serien";
"slomoVideos" = "Slo-Mo";
"selfPortraits" = "Selfies";
"screenshots" = "Bildschirmfotos";
"depthEffect" = "Porträt";
"livePhotos" = "Live Photos";
"animated" = "Animiert";
"myPhotoStream" = "Mein Fotostream";
"noTitleAlbumListPlaceholder" = "Alle Fotos";
"unableToAccessAllPhotos" = "Zugriff auf alle Fotos im Album nicht möglich.\nZugriff auf \"Alle Fotos\" unter \"Fotos\" zulassen.";
"textStickerRemoveTips" = "Zum Entfernen hierher ziehen";
... ...
"previewCamera" = "Camera";
"previewCameraRecord" = "Record";
"previewAlbum" = "Album";
"cancel" = "Cancel";
"originalPhoto" = "Full Image";
"done" = "Done";
"ok" = "OK";
"editFinish" = "Done";
"back" = "Back";
"edit" = "Edit";
"revert" = "Undo";
"brightness" = "Brightness";
"contrast" = "Contrast";
"saturation" = "Saturation";
"photo" = "Photos";
"preview" = "Preview";
"noPhotoTips" = "No Photos";
"notAllowMixSelect" = "Unable to select video";
"loading" = "loading, waiting please";
"hudLoading" = "waiting...";
"exceededMaxSelectCount" = "Max count for selection: %ld";
"longerThanMaxVideoDuration" = "Unable to select video with a duration longer than %lds";
"shorterThanMaxVideoDuration" = "Unable to select video with a duration shorter than %lds";
"exceededMaxVideoSelectCount" = "Max count for video selection: %ld";
"lessThanMinVideoSelectCount" = "Min count for video selection: %ld";
"noCameraAuthority" = "Please allow %@ to access your device's camera in \"Settings\" > \"Privacy\" > \"Camera\"";
"noPhotoLibratyAuthority" = "Please allow %@ to access your album in \"Settings\" > \"Privacy\" > \"Photos\"";
"noMicrophoneAuthority" = "Unable to record audio. Go to \"Settings\" > \"%@\" and enable microphone access.";
"cameraUnavailable" = "Camera is unavailable";
"keepRecording" = "Keep Recording";
"gotoSettings" = "Go to Settings";
"iCloudVideoLoadFaild" = "Unable to sync from iCloud";
"imageLoadFailed" = "loading failed";
"save" = "Save";
"saveImageError" = "Failed to save the image";
"saveVideoError" = "Failed to save the video";
"timeout" = "Request timed out";
"customCameraTips" = "Tap to take photo and hold to record video";
"customCameraTakePhotoTips" = "Tap to take photo";
"customCameraRecordVideoTips" = "Hold to record video";
"minRecordTimeTips" = "Record at least %lds";
"cameraRoll" = "Recents";
"panoramas" = "Panoramas";
"videos" = "Videos";
"favorites" = "Favorites";
"timelapses" = "Time-Lapse";
"recentlyAdded" = "Recently Added";
"bursts" = "Bursts";
"slomoVideos" = "Slo-mo";
"selfPortraits" = "Selfies";
"screenshots" = "Screenshots";
"depthEffect" = "Portrait";
"livePhotos" = "Live Photos";
"animated" = "Animated";
"myPhotoStream" = "My Photo Stream";
"noTitleAlbumListPlaceholder" = "All Photos";
"unableToAccessAllPhotos" = "Unable to access all photos in the album.\nAllow access to \"All Photos\" in \"Photos\".";
"textStickerRemoveTips" = "Drag here to remove";
... ...
"previewCamera" = "Cámara";
"previewCameraRecord" = "Grabar";
"previewAlbum" = "Álbum";
"cancel" = "Cancelar";
"originalPhoto" = "Imagen completa";
"done" = "Hecho";
"ok" = "OK";
"editFinish" = "Hecho";
"back" = "Volver";
"edit" = "Editar";
"revert" = "Deshacer";
"brightness" = "Brillo";
"contrast" = "Contraste";
"saturation" = "Saturación";
"photo" = "Fotos";
"preview" = "Vista previa";
"noPhotoTips" = "No hay fotos";
"notAllowMixSelect" = "No se puede seleccionar el vídeo";
"loading" = "cargando, por favor espera";
"hudLoading" = "cargando...";
"exceededMaxSelectCount" = "Número máximo para la selección: %ld";
"longerThanMaxVideoDuration" = "No se puede seleccionar un vídeo con una duración superior a %lds";
"shorterThanMaxVideoDuration" = "No se puede seleccionar un vídeo con una duración inferior a %lds";
"exceededMaxVideoSelectCount" = "Número máximo para la selección de vídeos: %ld";
"lessThanMinVideoSelectCount" = "Número mínimo para la selección de vídeos: %ld";
"noCameraAuthority" = "Permite que %@ acceda a la cámara de tu dispositivo en \"Ajustes\" > \"Privacidad\" > \"Cámara\"";
"noPhotoLibratyAuthority" = "Permita que %@ acceda a su álbum en \"Configuración\" > \"Privacidad\" > \"Fotos\"";
"noMicrophoneAuthority" = "No se puede grabar audio. Ve a \"Ajustes\" > \"%@\" y activa el acceso al micrófono.";
"cameraUnavailable" = "La cámara no está disponible";
"keepRecording" = "Continuar Grabando";
"gotoSettings" = "Ir a Ajustes";
"iCloudVideoLoadFaild" = "No se puede sincronizar desde iCloud";
"imageLoadFailed" = "carga fallida";
"save" = "Guardar";
"saveImageError" = "No se ha podido guardar la imagen";
"saveVideoError" = "No se ha podido guardar el vídeo";
"timeout" = "La solicitud se ha vencido";
"customCameraTips" = "Toca para tomar una foto y mantén pulsado para grabar un vídeo";
"customCameraTakePhotoTips" = "Toca para tomar una foto";
"customCameraRecordVideoTips" = "Mantén pulsado para grabar vídeo";
"minRecordTimeTips" = "Grabar al menos %lds";
"cameraRoll" = "Recientes";
"panoramas" = "Panoramas";
"videos" = "Vídeos";
"favorites" = "Favoritos";
"timelapses" = "Lapso de Tiempo";
"recentlyAdded" = "Añadido recientemente";
"bursts" = "Ráfagas";
"slomoVideos" = "Cámara lenta";
"selfPortraits" = "Selfies";
"screenshots" = "Capturas de pantalla";
"depthEffect" = "Retrato";
"livePhotos" = "Fotos en vivo";
"animated" = "Animado";
"myPhotoStream" = "Mi flujo de fotos";
"noTitleAlbumListPlaceholder" = "Todas las fotos";
"unableToAccessAllPhotos" = "No se puede acceder a todas las fotos del álbum.\nPermite el acceso a \"Todas las fotos\" en \"Fotos\".";
"textStickerRemoveTips" = "Arrastra aquí para eliminar";
... ...
"previewCamera" = "Caméra";
"previewCameraRecord" = "Record";
"previewAlbum" = "Album";
"cancel" = "Annuler";
"originalPhoto" = "image complète";
"done" = "Terminé";
"ok" = "D'accord";
"editFinish" = "Terminé";
"back" = "Retour";
"edit" = "Modifier";
"revert" = "Annuler";
"brightness" = "Luminosité";
"contrast" = "Contraste";
"saturation" = "Saturation";
"photo" = "Photos";
"preview" = "Aperçu";
"noPhotoTips" = "Pas de photos";
"notAllowMixSelect" = "Impossible de sélectionner la vidéo";
"loading" = "chargement, attente s'il vous plaît";
"hudLoading" = "attendre...";
"exceededMaxSelectCount" = "Nombre maximal de sélections: %ld";
"longerThanMaxVideoDuration" = "Impossible de sélectionner une vidéo d'une durée supérieure à %lds";
"shorterThanMaxVideoDuration" = "Impossible de sélectionner une vidéo d'une durée inférieure à %lds";
"exceededMaxVideoSelectCount" = "Nombre maximal de sélections vidéo: %ld";
"lessThanMinVideoSelectCount" = "Nombre minimal de sélection de vidéo: %ld";
"noCameraAuthority" = "Veuillez autoriser %@ à accéder à la caméra de votre appareil dans \"Paramètres\" > \"Confidentialité\" > \"Caméra\"";
"noPhotoLibratyAuthority" = "Veuillez autoriser %@ à accéder à votre album dans \"Paramètres\" > \"Confidentialité\" > \"Photos\"";
"noMicrophoneAuthority" = "Impossible d'enregistrer le son. Rendez-vous dans « Paramètres >> > << %@ » et activez l'accès au microphone.";
"cameraUnavailable" = "La caméra n'est pas disponible";
"keepRecording" = "Continuer à enregistrer";
"gotoSettings" = "Accéder à Paramètres";
"iCloudVideoLoadFaild" = "Impossible de synchroniser depuis iCloud";
"imageLoadFailed" = "chargement échoué";
"save" = "Enregistrer";
"saveImageError" = "Échec de l'enregistrement de l'image";
"saveVideoError" = "Échec de l'enregistrement de la vidéo";
"timeout" = "La demande a expiré";
"customCameraTips" = "Maintenez la pression sur pour enregistrer";
"customCameraTakePhotoTips" = "Appuyez pour prendre une photo";
"customCameraRecordVideoTips" = "Maintenez enfoncé pour enregistrer une vidéo";
"minRecordTimeTips" = "Enregistrez au moins %lds";
"cameraRoll" = "Récents";
"panoramas" = "Panoramas";
"videos" = "Vidéos";
"favorites" = "Favorites";
"timelapses" = "Accéléré";
"recentlyAdded" = "Récemment ajouté";
"bursts" = "Rafales";
"slomoVideos" = "Ralentis";
"selfPortraits" = "Selfies";
"screenshots" = "Captures d'écran";
"depthEffect" = "Portrait";
"livePhotos" = "Live Photos";
"animated" = "Animations";
"myPhotoStream" = "Mon flux de photos";
"noTitleAlbumListPlaceholder" = "Toutes les photos";
"unableToAccessAllPhotos" = "Impossible d'accéder à toutes les photos de l'album.\nAutorisez l'accès à « Toutes les photos » dans « Photos ».";
"textStickerRemoveTips" = "Faites glisser ici pour supprimer";
... ...
"previewCamera" = "Kamera";
"previewCameraRecord" = "Merekam";
"previewAlbum" = "Album";
"cancel" = "Membatalkan";
"originalPhoto" = "Gambar Penuh";
"done" = "Selesai";
"ok" = "Oke";
"editFinish" = "Selesai";
"back" = "Kembali";
"edit" = "Edit";
"revert" = "Batalkan";
"brightness" = "Kecerahan";
"contrast" = "Kontras";
"saturation" = "Saturasi";
"photo" = "Foto";
"preview" = "Pratinjau";
"noPhotoTips" = "Tidak ada fotos";
"notAllowMixSelect" = "Tidak dapat memilih video";
"loading" = "sedang memuat, tolong tunggu";
"hudLoading" = "menunggu...";
"exceededMaxSelectCount" = "Jumlah maksimum untuk seleksi: %ld";
"longerThanMaxVideoDuration" = "Tidak dapat memilih video dengan durasi lebih dari %ld detik";
"shorterThanMaxVideoDuration" = "Tidak dapat memilih video dengan durasi lebih pendek dari %ld detik";
"exceededMaxVideoSelectCount" = "Jumlah maksimum untuk pemilihan video: %ld";
"lessThanMinVideoSelectCount" = "Jumlah minimum untuk pemilihan video: %ld";
"noCameraAuthority" = "Izinkan akses kamera di \"Pengaturan\" > \"%@\" iPhone Anda.";
"noPhotoLibratyAuthority" = "Izinkan %@ mengakses album Anda di \"Setelan\" > \"Privasi\" > \"Foto\"";
"noMicrophoneAuthority" = "Tidak dapat merekam audio. Buka \"Setelan\" > \"%@\" dan aktifkan akses mikrofon.";
"cameraUnavailable" = "Kamera tidak tersedia";
"keepRecording" = "Terus Merekam";
"gotoSettings" = "Pergi ke pengaturan";
"iCloudVideoLoadFaild" = "Tidak dapat menyinkronkan dari iCloud";
"imageLoadFailed" = "Gagal Memuat";
"save" = "Menghemat";
"saveImageError" = "Gagal menyimpan gambar";
"saveVideoError" = "Gagal menyimpan video";
"timeout" = "Waktu permintaan habis";
"customCameraTips" = "Ketuk untuk mengambil video dan tahan untuk merekam";
"customCameraTakePhotoTips" = "Ketuk untuk mengambil foto";
"customCameraRecordVideoTips" = "Tahan untuk merekam video";
"minRecordTimeTips" = "Merekam setidaknya %ld detik";
"cameraRoll" = "Terbaru";
"panoramas" = "Panorama";
"videos" = "Video";
"favorites" = "Favorit";
"timelapses" = "Selang Waktu";
"recentlyAdded" = "Terkini";
"bursts" = "Foto Beruntun";
"slomoVideos" = "Slo-mo";
"selfPortraits" = "Selfie";
"screenshots" = "Jepretan Layer";
"depthEffect" = "Potret";
"livePhotos" = "Live Photos";
"animated" = "Animasi";
"myPhotoStream" = "Aliran Foto Saya";
"noTitleAlbumListPlaceholder" = "Semua Foto";
"unableToAccessAllPhotos" = "Tidak dapat mengakses semua foto dalam album.\nIzinkan akses ke \"Semua Foto\" di \"Foto\".";
"textStickerRemoveTips" = "Seret ke sini untuk menghapus";
... ...
"previewCamera" = "Fotocamera";
"previewCameraRecord" = "Disco";
"previewAlbum" = "Immagini";
"cancel" = "Annulla";
"originalPhoto" = "Immagine completa";
"done" = "Fine";
"ok" = "OK";
"editFinish" = "Fine";
"back" = "Indietro";
"edit" = "Modifica";
"revert" = "Annulla";
"brightness" = "Luminosità";
"contrast" = "Contrasto";
"saturation" = "Saturazione";
"photo" = "Fotografie";
"preview" = "Anteprima";
"noPhotoTips" = "Niente fotos";
"notAllowMixSelect" = "Impossibile selezionare il video";
"loading" = "Caricamento, in attesa per favore";
"hudLoading" = "in attesa...";
"exceededMaxSelectCount" = "Conteggio massimo per la selezione: %ld";
"longerThanMaxVideoDuration" = "Impossibile selezionare video con una durata superiore a %lds";
"shorterThanMaxVideoDuration" = "Impossibile selezionare video con una durata inferiore a %lds";
"exceededMaxVideoSelectCount" = "Conteggio massimo per la selezione dei video: %ld";
"lessThanMinVideoSelectCount" = "Conteggio minimo per la selezione del video: %ld";
"noCameraAuthority" = "Consenti a %@ di accedere alla fotocamera del tuo dispositivo in \"Impostazioni\" > \"Privacy\" > \"Fotocamera\"";
"noPhotoLibratyAuthority" = "Consenti a %@ di accedere al tuo album in \"Impostazioni\" > \"Privacy\" > \"Foto\"";
"noMicrophoneAuthority" = "Impossibile registrare I'audio. Vai a \"Impostazioni\" > \"%@\" e attiva I'accesso al microfono";
"cameraUnavailable" = "La fotocamera non è disponibile";
"keepRecording" = "Continua a registrare";
"gotoSettings" = "Vai a lmpostazioni";
"iCloudVideoLoadFaild" = "Impossibile sincronizzare da iCloud";
"imageLoadFailed" = "Caricamento fallito";
"save" = "Salva";
"saveImageError" = "Impossibile salvare l'immagine";
"saveVideoError" = "Impossibile salvare il video";
"timeout" = "Tempo scaduto per la richiesta";
"customCameraTips" = "Toccare per scattare e tiene premuto per registrare";
"customCameraTakePhotoTips" = "Tocca per scattare una foto";
"customCameraRecordVideoTips" = "Tieni premuto per registrare il video";
"minRecordTimeTips" = "Registra almeno %lds";
"cameraRoll" = "Recenti";
"panoramas" = "Panoramiche";
"videos" = "Video";
"favorites" = "Preferiti";
"timelapses" = "Time-lapse";
"recentlyAdded" = "Aggiunto recentemente";
"bursts" = "Sequenze";
"slomoVideos" = "Slow motion";
"selfPortraits" = "Selfie";
"screenshots" = "Istantanee";
"depthEffect" = "Ritratti";
"livePhotos" = "Live Photo";
"animated" = "Animazioni";
"myPhotoStream" = "II mio streaming foto";
"noTitleAlbumListPlaceholder" = "Tutte le foto";
"unableToAccessAllPhotos" = "Impossibile accedere a tutte le foto nell'album.\nConsenti l'accesso a \"Tutte le foto\" in \"Foto\"";
"textStickerRemoveTips" = "Trascina qui per rimuovere";
... ...
"previewCamera" = "カメラ";
"previewCameraRecord" = "撮影";
"previewAlbum" = "アルバム";
"cancel" = "キャンセル";
"originalPhoto" = "完全な画像";
"done" = "確定";
"ok" = "確定";
"editFinish" = "完了";
"back" = "戻る";
"edit" = "編集";
"revert" = "元に戻す";
"brightness" = "明るさ";
"contrast" = "コントラスト";
"saturation" = "飽和";
"photo" = "写真";
"preview" = "プレビュー";
"noPhotoTips" = "写真でない";
"notAllowMixSelect" = "ビデオを選択できません";
"loading" = "ロード中,お待ち下さい";
"hudLoading" = "後ほど...";
"exceededMaxSelectCount" = "最大選択数: %ld";
"longerThanMaxVideoDuration" = "%ldsより長い動画は選択できません";
"shorterThanMaxVideoDuration" = "%ldsより短い動画は選択できません";
"exceededMaxVideoSelectCount" = "動画の最大選択数: %ld";
"lessThanMinVideoSelectCount" = "動画の最小選択数: %ld";
"noCameraAuthority" = "「設定」>「プライパシー」>「カメラ」から、%@があなたのデバイスのカメラにアクセスする許可をしてください";
"noPhotoLibratyAuthority" = "%@があなたのアルバムにアクセスするには「設定」>「プライバシー」>「写真」";
"noMicrophoneAuthority" = "音声を録音できません。「設定」 >「%@」に移動し、マイクへのアクセスを有効にしてください。";
"cameraUnavailable" = "カメラは利用できません";
"keepRecording" = "撮影を続ける";
"gotoSettings" = "設定に移動";
"iCloudVideoLoadFaild" = "iCloudから同期できません";
"imageLoadFailed" = "ロード失敗";
"save" = "セーブ";
"saveImageError" = "画像の保存に失敗しました";
"saveVideoError" = "ビデオの保存に失敗しました";
"timeout" = "要求タイムアウト";
"customCameraTips" = "タップして撮影、長押しで記録";
"customCameraTakePhotoTips" = "タップして撮影";
"customCameraRecordVideoTips" = "長押しで記録";
"minRecordTimeTips" = "%lds以上記録する";
"cameraRoll" = "最近の項目";
"panoramas" = "パノラマ";
"videos" = "ビデオ";
"favorites" = "お気に入り";
"timelapses" = "タイムラプス";
"recentlyAdded" = "最後に追加した項目";
"bursts" = "バースト";
"slomoVideos" = "スローモーション";
"selfPortraits" = "セルフイー";
"screenshots" = "スクリーンショット";
"depthEffect" = "ポートレート";
"livePhotos" = "Live Photos";
"animated" = "アニメーション";
"myPhotoStream" = "マイフォトストリーム";
"noTitleAlbumListPlaceholder" = "画像すべて";
"unableToAccessAllPhotos" = "アルバム内のすべての写真にアクセスできません。\n「写真」内の「すべての写真」 へのアクセスを許可してください。";
"textStickerRemoveTips" = "ここにドラッグして削除します";
... ...
"previewCamera" = "카메라";
"previewCameraRecord" = "기록";
"previewAlbum" = "이미지";
"cancel" = "취소";
"originalPhoto" = "전체 이미지";
"done" = "확인";
"ok" = "확인";
"editFinish" = "완료";
"back" = "뒤";
"edit" = "편집";
"revert" = "실행 취소";
"brightness" = "밝기";
"contrast" = "대비";
"saturation" = "채도";
"photo" = "사진";
"preview" = "미리 보기";
"noPhotoTips" = "사진 없음";
"notAllowMixSelect" = "비디오를 선택할 수 없습니다";
"loading" = "로딩 중... 기다려주세요";
"hudLoading" = "기다리는 중...";
"exceededMaxSelectCount" = "최대 선택 수: %ld";
"longerThanMaxVideoDuration" = "길이가 %ld 초 보다 긴 동영상을 선택할 수 없습니다";
"shorterThanMaxVideoDuration" = "기간이 %ld 초 보다 짧은 비디오를 선택할 수 없습니다";
"exceededMaxVideoSelectCount" = "동영상 최대 선택 수: %ld";
"lessThanMinVideoSelectCount" = "동영상 최소 선택 횟수: %ld";
"noCameraAuthority" = "%@ 에서 장치의 카메라에 액세스하도록 허용하십시오 에서 \"설정\" > \"개인 정보\" > \"카메라\"";
"noPhotoLibratyAuthority" = "%@ 이 \"설정\" > \"개인 정보\" > \"사진\"에서 앨범에 액세스하도록 허용하세요";
"noMicrophoneAuthority" = "오디오를 녹음할 수 없습니다. \"설정\" > \"%@\"으로 이동하여 마이크 액세스를 사용으로 설정하십시오.";
"cameraUnavailable" = "카메라를 사용할 수 없습니다";
"keepRecording" = "계속 촬영";
"gotoSettings" = "설정으로 이동";
"iCloudVideoLoadFaild" = "iCloud에서 동기화 할 수 없습니다";
"imageLoadFailed" = "로드 실패";
"save" = "저장";
"saveImageError" = "이미지를 저장하지 못했습니다";
"saveVideoError" = "비디오를 저장하지 못했습니다";
"timeout" = "요청 시간이 초과되었습니다";
"customCameraTips" = "눌러서 촬영 및 길게 눌러서 기록";
"customCameraTakePhotoTips" = "눌러서 촬영";
"customCameraRecordVideoTips" = "길게 눌러서 기록";
"minRecordTimeTips" = "%ld 초 이상 녹화";
"cameraRoll" = "최근 항목";
"panoramas" = "파노라마";
"videos" = "비디오";
"favorites" = "즐겨 찾기";
"timelapses" = "타임랩스";
"recentlyAdded" = "최근에 추가";
"bursts" = "고속 연사 촬영";
"slomoVideos" = "슬로 모션";
"selfPortraits" = "셀카";
"screenshots" = "스크린샷";
"depthEffect" = "인물 사진";
"livePhotos" = "Live Photos";
"animated" = "움직이는 항목";
"myPhotoStream" = "나의 사진 스트림";
"noTitleAlbumListPlaceholder" = "모든 사진";
"unableToAccessAllPhotos" = "앨범 사진에 접근할 수 없습니다.\n\"사진\"에서 \"모든 사진\"에 대한 접근을 허용합니다.";
"textStickerRemoveTips" = "제거하려면 여기로 드래그하세요";
... ...
"previewCamera" = "Kamera";
"previewCameraRecord" = "Rekod";
"previewAlbum" = "Imej";
"cancel" = "Batal";
"originalPhoto" = "Imej Penuh";
"done" = "Selesai";
"ok" = "Okey";
"editFinish" = "Selesai";
"back" = "Belakang";
"edit" = "Edit";
"revert" = "Buat asal";
"brightness" = "Kecerahan";
"contrast" = "Contrast";
"saturation" = "Ketepuan";
"photo" = "Gambar";
"preview" = "Pratonton";
"noPhotoTips" = "Tiada Foto";
"notAllowMixSelect" = "Tidak dapat memilih video";
"loading" = "Memuatkan, tunggu";
"hudLoading" = "menunggu...";
"exceededMaxSelectCount" = "Kiraan maksimum untuk pemilihan: %ld";
"longerThanMaxVideoDuration" = "Tidak dapat memilih video dengan jangka masa lebih lama daripada %lds";
"shorterThanMaxVideoDuration" = "Tidak dapat memilih video dengan jangka masa lebih pendek daripada %lds";
"exceededMaxVideoSelectCount" = "Jumlah maksimum untuk pemilihan video: %ld";
"lessThanMinVideoSelectCount" = "Kiraan minimum untuk pemilihan video: %ld";
"noCameraAuthority" = "Izinkan %@ mengakses kamera peranti anda di \"Tetapan\" > \"Privasi\" > \"Kamera\"";
"noPhotoLibratyAuthority" = "Izinkan %@ mengakses album anda di \"Tetapan\" > \"Privasi\" > \"Foto\"";
"noMicrophoneAuthority" = "Tidak dapat merakam audio. Pergi Ke \"Tetapan\" > \"%@\" dan dayakan akses mikrofon.";
"cameraUnavailable" = "Kamera tidak tersedia";
"keepRecording" = "Teruskan Perakaman";
"gotoSettings" = "Pergi ke Tetapan";
"iCloudVideoLoadFaild" = "Tidak dapat menyegerakkan dari iCloud";
"imageLoadFailed" = "pemuatan gagal";
"save" = "Berjimat";
"saveImageError" = "Gagal menyimpan gambar";
"saveVideoError" = "Gagal menyimpan video";
"timeout" = "Permintaan tamat";
"customCameraTips" = "Ketik untuk menangkap dan tahan untuk merakam";
"customCameraTakePhotoTips" = "Ketik untuk menangkap";
"customCameraRecordVideoTips" = "Tahan untuk merakam";
"minRecordTimeTips" = "Rakam sekurang-kurangnya %lds";
"cameraRoll" = "Terbaru";
"panoramas" = "Panorama";
"videos" = "Video";
"favorites" = "Kegemaran";
"timelapses" = "Selang Masa";
"recentlyAdded" = "Ditambah Terkini";
"bursts" = "Jujukan";
"slomoVideos" = "Slo-mo";
"selfPortraits" = "Swafoto";
"screenshots" = "Gambar Skrin";
"depthEffect" = "Potret";
"livePhotos" = "Live Photos";
"animated" = "Beranimasi";
"myPhotoStream" = "Strim Foto Saya";
"noTitleAlbumListPlaceholder" = "Semua Foto";
"unableToAccessAllPhotos" = "Tidak dapat mengakses semua foto dalam album.\nBenarkan akses kepada \"Semua Foto\" dalam \"Foto\".";
"textStickerRemoveTips" = "Seret ke sini untuk mengalih keluar";
... ...
"previewCamera" = "Câmara";
"previewCameraRecord" = "Recorde";
"previewAlbum" = "Álbum";
"cancel" = "Cancelar";
"originalPhoto" = "Imagem completa";
"done" = "Feito";
"ok" = "OK";
"editFinish" = "Feito";
"back" = "Voltar";
"edit" = "Editar";
"revert" = "Desfazer";
"brightness" = "Brilho";
"contrast" = "Contraste";
"saturation" = "Saturação";
"photo" = "Fotos";
"preview" = "Pré-visualização";
"noPhotoTips" = "Sem Fotos";
"notAllowMixSelect" = "Não foi possível selecionar o vídeo";
"loading" = "carregamento, esperando por favor";
"hudLoading" = "à espera...";
"exceededMaxSelectCount" = "Contagem máxima para seleção: %ld";
"longerThanMaxVideoDuration" = "Incapaz de selecionar vídeos com duração superior a %lds";
"shorterThanMaxVideoDuration" = "Incapaz de selecionar vídeos com duração inferior a %lds";
"exceededMaxVideoSelectCount" = "Contagem máxima para seleção de vídeo: %ld";
"lessThanMinVideoSelectCount" = "Contagem mínima para seleção de vídeo: %ld";
"noCameraAuthority" = "Por favor, permita a %@ aceder à câmara do seu dispositivo em \"Definições\" > \"Privacidade\" > \"Câmara\".";
"noPhotoLibratyAuthority" = "Por favor, permita que %@ acesse seu álbum em \"Configurações\" > \"Privacidade\" > \"Fotos\".";
"noMicrophoneAuthority" = "Incapaz de gravar áudio. Vá para \"Configurações\" > \"%@\" e habilite o acesso ao microfone.";
"cameraUnavailable" = "A câmara não está disponível";
"keepRecording" = "Continuar Gravando";
"gotoSettings" = "Ir para Configurações";
"iCloudVideoLoadFaild" = "Incapaz de sincronizar a partir do iCloud";
"imageLoadFailed" = "carregamento fracassado";
"save" = "Salvar";
"saveImageError" = "Falha em salvar a imagem";
"saveVideoError" = "Falha ao salvar o vídeo";
"timeout" = "Pedidos com tempo limite";
"customCameraTips" = "Toque para tirar foto e segure para gravar vídeo";
"customCameraTakePhotoTips" = "Toque para tirar foto";
"customCameraRecordVideoTips" = "Segure para gravar vídeo";
"minRecordTimeTips" = "Registre pelo menos %lds";
"cameraRoll" = "Recentes";
"panoramas" = "Panoramas";
"videos" = "Vídeos";
"favorites" = "Favoritos";
"timelapses" = "Prazo";
"recentlyAdded" = "Adicionado recentemente";
"bursts" = "Rebentamentos";
"slomoVideos" = "Slo-mo";
"selfPortraits" = "Selfies";
"screenshots" = "Imagens de tela";
"depthEffect" = "Retrato";
"livePhotos" = "Fotos ao vivo";
"animated" = "Animado";
"myPhotoStream" = "Meu fluxo de fotos";
"noTitleAlbumListPlaceholder" = "Todas as fotos";
"unableToAccessAllPhotos" = "Incapaz de aceder a todas as fotografias do álbum.\nPermitir o acesso a \"Todas as fotos\" em \"Fotos\".";
"textStickerRemoveTips" = "Arraste aqui para remover";
... ...
"previewCamera" = "Камера";
"previewCameraRecord" = "изображения";
"previewAlbum" = "Альбом";
"cancel" = "Отмена";
"originalPhoto" = "Полный формат";
"done" = "Готово";
"ok" = "в порядке";
"editFinish" = "Готово";
"back" = "Назад";
"edit" = "Pед";
"revert" = "Отменить";
"brightness" = "Яркость";
"contrast" = "Контраст";
"saturation" = "Насыщенность";
"photo" = "Фото";
"preview" = "Предпросмотр";
"noPhotoTips" = "Нет фотографии";
"notAllowMixSelect" = "Невозможно выбрать видео";
"loading" = "загрузка, подождите пожалуйста";
"hudLoading" = "ожидание...";
"exceededMaxSelectCount" = "Максимальное количество выбранных: %ld";
"longerThanMaxVideoDuration" = "Невозможно выбрать видео длительностью более %ld с";
"shorterThanMaxVideoDuration" = "Невозможно выбрать видео продолжительностью менее 2 с";
"exceededMaxVideoSelectCount" = "Максимальное количество выбранных видео: %ld";
"lessThanMinVideoSelectCount" = "Количество мин. Выбора видео: %ld";
"noCameraAuthority" = "Разрешите %@ доступ к камере вашего устройства в \"Настройки\" > \"Конфиденциальность\" > \"Камера\"";
"noPhotoLibratyAuthority" = "Разрешите %@ доступ к вашему альбому в \"Настройки\" > \"Конфиденциальность\" > \"Фото\"";
"noMicrophoneAuthority" = "Не удалось записать звук. Перейдите в меню \"Настройки\" > \"%@\" и включите доступ к микрофону.";
"cameraUnavailable" = "Камера недоступна";
"keepRecording" = "Продолжить запись";
"gotoSettings" = "Перейти в настройки";
"iCloudVideoLoadFaild" = "Невозможно синхронизировать из iCloud";
"imageLoadFailed" = "загрузка не удалась";
"save" = "Сохранить";
"saveImageError" = "Не удалось сохранить изображение";
"saveVideoError" = "Не удалось сохранить видео";
"timeout" = "Истекло время запроса";
"customCameraTips" = "Нажмите для съемки, удерживайте для записи";
"customCameraTakePhotoTips" = "Нажмите для съeмки";
"customCameraRecordVideoTips" = "Удерживайте для записи";
"minRecordTimeTips" = "Запишите не менее 2 с";
"cameraRoll" = "Недавние";
"panoramas" = "Панорамы";
"videos" = "Видео";
"favorites" = "Избранное";
"timelapses" = "Tаймлапс";
"recentlyAdded" = "Недавно добавленный";
"bursts" = "Cepии";
"slomoVideos" = "Замедленное";
"selfPortraits" = "Селфи";
"screenshots" = "Cнимки зкрана";
"depthEffect" = "Портреты";
"livePhotos" = "Live Photos";
"animated" = "Анимированные";
"myPhotoStream" = "Мой фотопоток";
"noTitleAlbumListPlaceholder" = "Все фотографии";
"unableToAccessAllPhotos" = "Невозможно получить доступ к фотографиям в альбоме.\nРазрешить доступ ко \"Всем фотографиям\" в \"Фото\".";
"textStickerRemoveTips" = "Перетащите сюда, чтобы удалить";
... ...
"previewCamera" = "Kamera";
"previewCameraRecord" = "Kayıt Et";
"previewAlbum" = "Albüm";
"cancel" = "İptal";
"originalPhoto" = "Orijinal Resim";
"done" = "Bitti";
"ok" = "OK";
"editFinish" = "Bitti";
"back" = "Geri";
"edit" = "Düzenle";
"revert" = "Geri Al";
"brightness" = "Parlaklık";
"contrast" = "Kontrast";
"saturation" = "Canlılık";
"photo" = "Fotoğrafşar";
"preview" = "Önizle";
"noPhotoTips" = "Fotoğraf yok";
"notAllowMixSelect" = "Video seçilemedi";
"loading" = "yükleniyor, lütfen bekleyin...";
"hudLoading" = "bekleyin...";
"exceededMaxSelectCount" = "Maksimum seçim adeti: %ld";
"longerThanMaxVideoDuration" = "%lds'dan uzun süreli videolar seçilemiyor.";
"shorterThanMaxVideoDuration" = "%lds'dan kıza süreli videolar seçilemiyor.";
"exceededMaxVideoSelectCount" = "Maksimum video seçim adeti: %ld";
"lessThanMinVideoSelectCount" = "Minimum video seçim adeti: %ld";
"noCameraAuthority" = "Lütfen %@'nin \"Ayarlar\" > \"Gizlilik\" > \"Kamera\" bölümünden cihazınızın kamerasına erişmesine izin verin";
"noPhotoLibratyAuthority" = "Lütfen %@'nin \"Ayarlar\" > \"Gizlilik\" > \"Fotoğraflar\" bölümünde albümünüze erişmesine izin verin";
"noMicrophoneAuthority" = "Ses kaydedilemiyor. \"Ayarlar\" > \"%@\" seçeneğine gidin ve mikrofon erişimini etkinleştirin.";
"cameraUnavailable" = "Kamera kullanılamıyor";
"keepRecording" = "Kayda Devam Et";
"gotoSettings" = "Ayarlara git";
"iCloudVideoLoadFaild" = "iCloud'dan senkronize edilemiyor";
"imageLoadFailed" = "Yüklenemedi!";
"save" = "Kaydet";
"saveImageError" = "Resim kaydedilemedi!";
"saveVideoError" = "Video kaydedilemedi!";
"timeout" = "İstek zaman aşımına uğradı";
"customCameraTips" = "Fotoğraf çekmek için dokunun ve video kaydetmek için basılı tutun";
"customCameraTakePhotoTips" = "Fotoğraf çekmek için dokunun";
"customCameraRecordVideoTips" = "Video çekmek için basılı tutun";
"minRecordTimeTips" = "En az %lds kaydedin";
"cameraRoll" = "Son Çekimler";
"panoramas" = "Panoramalar";
"videos" = "Videolar";
"favorites" = "Favoriler";
"timelapses" = "Hızlandırılmışlar";
"recentlyAdded" = "Yeni Eklenenler";
"bursts" = "Bursts";
"slomoVideos" = "Yavaş Çekimler";
"selfPortraits" = "Selfie'ler";
"screenshots" = "Ekran Görüntüleri";
"depthEffect" = "Portreler";
"livePhotos" = "Live Photo'lar";
"animated" = "Hareketli";
"myPhotoStream" = "Fotoğraf Akışım";
"noTitleAlbumListPlaceholder" = "Tüm Fotoğraflar";
"unableToAccessAllPhotos" = "Albümdeki tüm fotoğraflara erişilemiyor.\n\"Fotoğraflar\"da \"Tüm Fotoğraflar\"a erişime izin verin.";
"textStickerRemoveTips" = "Kaldırmak için buraya sürükleyin";
... ...
"previewCamera" = "Camera";
"previewCameraRecord" = "Ghi lại";
"previewAlbum" = "Hình ảnh";
"cancel" = "Huỷ";
"originalPhoto" = "Toàn bộ hình ảnh";
"done" = "Xong";
"ok" = "đồng ý";
"editFinish" = "Xong";
"back" = "Trở lại";
"edit" = "Chỉnh sửa";
"revert" = "Hoàn tác";
"brightness" = "độ sáng";
"contrast" = "Sự tương phản";
"saturation" = "Bão hòa";
"photo" = "Ảnh";
"preview" = "Xem trước";
"noPhotoTips" = "Không có ảnh";
"notAllowMixSelect" = "Không thể chọn video";
"loading" = "đang tải, vui lòng đợi";
"hudLoading" = "đang chờ đợi...";
"exceededMaxSelectCount" = "Số lượng lựa chọn tối đa: %ld";
"longerThanMaxVideoDuration" = "Không thể chọn video có thời lượng dài hơn %ld giây";
"shorterThanMaxVideoDuration" = "Không thể chọn video có thời lượng ngắn hơn %ld giây";
"exceededMaxVideoSelectCount" = "Số lượng lựa chọn tối đa của video: %ld";
"lessThanMinVideoSelectCount" = "Số phút chọn tối thiểu của video: %ld";
"noCameraAuthority" = "Vui lòng cho phép %@ truy cập máy ảnh trên thiết bị của bạn trong \"Cài đặt\" > \"Quyền riêng tư\" > \"Máy ảnh\"";
"noPhotoLibratyAuthority" = "Vui lòng cho phép %@ truy cập anbom của bạn trong \"Cài đặt\" > \"Bảo mật\" > \"Ảnh\"";
"noMicrophoneAuthority" = "Không thểghi hình. Đi tới \"Cài đặt\" > \"%@\" và bật quyên truy cập mic.";
"cameraUnavailable" = "Máy ảnh không khả dụng";
"keepRecording" = "Tiếp tục ghi hình";
"gotoSettings" = "Đi đến Cài đặt";
"iCloudVideoLoadFaild" = "Không thể đồng bộ hóa từ iCloud";
"imageLoadFailed" = "tải không thành công";
"save" = "Tiết kiệm";
"saveImageError" = "Lưu ảnh không thành công";
"saveVideoError" = "Lưu video không thành công";
"timeout" = "Yêu cầu đã hết thời gian chờ";
"customCameraTips" = "Nhấn để chụp và giữ để ghi";
"customCameraTakePhotoTips" = "Nhấn để chụp";
"customCameraRecordVideoTips" = "Giữ để quay video";
"minRecordTimeTips" = "Ghi ít nhất %ld giây";
"cameraRoll" = "Gần đây";
"panoramas" = "Ảnh toàn cảnh";
"videos" = "Video";
"favorites" = "Mục ưa thích";
"timelapses" = "Ảnh time-lapse";
"recentlyAdded" = "Đã thêm gần đây";
"bursts" = "Chụp liên hình";
"slomoVideos" = "Quay chậm";
"selfPortraits" = "Ảnh selfie";
"screenshots" = "Ảnh màn hình";
"depthEffect" = "Chân dung";
"livePhotos" = "Live Photos";
"animated" = "Hình động";
"myPhotoStream" = "Kho ảnh của tôi";
"noTitleAlbumListPlaceholder" = "Tất cả ảnh";
"unableToAccessAllPhotos" = "Không thể truy cập tất cả ảnh trong album.\nCho phép truy cập vào \"Tất cả ảnh\" trong \"Ành\".";
"textStickerRemoveTips" = "Kéo vào đây để xóa";
... ...
"previewCamera" = "拍照";
"previewCameraRecord" = "拍摄";
"previewAlbum" = "相册";
"cancel" = "取消";
"originalPhoto" = "原图";
"done" = "确定";
"ok" = "确定";
"editFinish" = "完成";
"back" = "返回";
"edit" = "编辑";
"revert" = "还原";
"brightness" = "亮度";
"contrast" = "对比度";
"saturation" = "饱和度";
"photo" = "照片";
"preview" = "预览";
"noPhotoTips" = "无照片";
"notAllowMixSelect" = "不能同时选择照片和视频";
"loading" = "加载中,请稍后";
"hudLoading" = "正在处理...";
"exceededMaxSelectCount" = "最多只能选择%ld张图片";
"longerThanMaxVideoDuration" = "不能选择超过%ld秒的视频";
"shorterThanMaxVideoDuration" = "不能选择低于%ld秒的视频";
"exceededMaxVideoSelectCount" = "最多只能选择%ld个视频";
"lessThanMinVideoSelectCount" = "最少选择%ld个视频";
"noCameraAuthority" = "请在iPhone的\"设置 > 隐私 > 相机\"选项中,允许%@访问你的相机";
"noPhotoLibratyAuthority" = "请在iPhone的\"设置 > 隐私 >照片\"选项中,允许%@访问你的照片";
"noMicrophoneAuthority" = "无法录制声音,前往\"设置 > %@\"中打开麦克风权限";
"cameraUnavailable" = "相机不可用";
"keepRecording" = "继续拍摄";
"gotoSettings" = "前往设置";
"iCloudVideoLoadFaild" = "iCloud无法同步";
"imageLoadFailed" = "图片加载失败";
"save" = "保存";
"saveImageError" = "图片保存失败";
"saveVideoError" = "视频保存失败";
"timeout" = "请求超时";
"customCameraTips" = "轻触拍照,按住摄像";
"customCameraTakePhotoTips" = "轻触拍照";
"customCameraRecordVideoTips" = "按住摄像";
"minRecordTimeTips" = "至少录制%ld秒";
"cameraRoll" = "最近项目";
"panoramas" = "全景照片";
"videos" = "视频";
"favorites" = "个人收藏";
"timelapses" = "延时摄影";
"recentlyAdded" = "最近添加";
"bursts" = "连拍快照";
"slomoVideos" = "慢动作";
"selfPortraits" = "自拍";
"screenshots" = "屏幕快照";
"depthEffect" = "人像";
"livePhotos" = "Live Photos";
"animated" = "动图";
"myPhotoStream" = "我的照片流";
"noTitleAlbumListPlaceholder" = "所有照片";
"unableToAccessAllPhotos" = "无法访问相册中所有照片,\n请允许访问「照片」中的「所有照片」。";
"textStickerRemoveTips" = "拖到此处删除";
... ...
"previewCamera" = "拍照";
"previewCameraRecord" = "拍攝";
"previewAlbum" = "相冊";
"cancel" = "取消";
"originalPhoto" = "原圖";
"done" = "確定";
"ok" = "確定";
"editFinish" = "完成";
"back" = "返回";
"edit" = "編輯";
"revert" = "還原";
"brightness" = "亮度";
"contrast" = "對比度";
"saturation" = "飽和度";
"photo" = "照片";
"preview" = "預覽";
"noPhotoTips" = "無照片";
"notAllowMixSelect" = "不能同時選擇照片和視頻";
"loading" = "加載中,請稍後";
"hudLoading" = "正在處理...";
"exceededMaxSelectCount" = "最多只能選擇%ld張圖片";
"longerThanMaxVideoDuration" = "不能選擇超過%ld秒的視頻";
"shorterThanMaxVideoDuration" = "不能選擇低於%ld秒的視頻";
"exceededMaxVideoSelectCount" = "最多只能選擇%ld個視頻";
"lessThanMinVideoSelectCount" = "最少選擇%ld個視頻";
"noCameraAuthority" = "請在iPhone的\"設置 > 隱私 > 相機\"選項中,允許%@訪問你的相機";
"noPhotoLibratyAuthority" = "請在iPhone的\"設置 > 隱私 > 相冊\"選項中,允許%@訪問你的照片";
"noMicrophoneAuthority" = "無法錄製聲音,前往\"設置 > %@\"中打開麥克風權限";
"cameraUnavailable" = "相機不可用";
"keepRecording" = "繼續拍攝";
"gotoSettings" = "前往設置";
"iCloudVideoLoadFaild" = "iCloud無法同步";
"imageLoadFailed" = "圖片加載失敗";
"save" = "保存";
"saveImageError" = "圖片保存失敗";
"saveVideoError" = "視頻保存失敗";
"timeout" = "請求超時";
"customCameraTips" = "輕觸拍照,按住攝像";
"customCameraTakePhotoTips" = "輕觸拍照";
"customCameraRecordVideoTips" = "按住攝像";
"minRecordTimeTips" = "至少錄制%ld秒";
"cameraRoll" = "最近項目";
"panoramas" = "全景照片";
"videos" = "視頻";
"favorites" = "個人收藏";
"timelapses" = "延時攝影";
"recentlyAdded" = "最近添加";
"bursts" = "連拍快照";
"slomoVideos" = "慢動作";
"selfPortraits" = "自拍";
"screenshots" = "屏幕快照";
"depthEffect" = "人像";
"livePhotos" = "Live Photos";
"animated" = "動圖";
"myPhotoStream" = "我的照片流";
"noTitleAlbumListPlaceholder" = "所有照片";
"unableToAccessAllPhotos" = "無法訪問相冊中所有照片,\n請允許訪問「照片」中的「所有照片」。";
"textStickerRemoveTips" = "拖到此處刪除";
... ...