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.
HHPhotoPicker.framework/HHPhotoPicker
0 → 100755
No preview for this file type
1 | +// Generated by Apple Swift version 5.5.1 (swiftlang-1300.0.31.4 clang-1300.0.29.6) | ||
2 | +#ifndef HHPHOTOPICKER_SWIFT_H | ||
3 | +#define HHPHOTOPICKER_SWIFT_H | ||
4 | +#pragma clang diagnostic push | ||
5 | +#pragma clang diagnostic ignored "-Wgcc-compat" | ||
6 | + | ||
7 | +#if !defined(__has_include) | ||
8 | +# define __has_include(x) 0 | ||
9 | +#endif | ||
10 | +#if !defined(__has_attribute) | ||
11 | +# define __has_attribute(x) 0 | ||
12 | +#endif | ||
13 | +#if !defined(__has_feature) | ||
14 | +# define __has_feature(x) 0 | ||
15 | +#endif | ||
16 | +#if !defined(__has_warning) | ||
17 | +# define __has_warning(x) 0 | ||
18 | +#endif | ||
19 | + | ||
20 | +#if __has_include(<swift/objc-prologue.h>) | ||
21 | +# include <swift/objc-prologue.h> | ||
22 | +#endif | ||
23 | + | ||
24 | +#pragma clang diagnostic ignored "-Wauto-import" | ||
25 | +#include <Foundation/Foundation.h> | ||
26 | +#include <stdint.h> | ||
27 | +#include <stddef.h> | ||
28 | +#include <stdbool.h> | ||
29 | + | ||
30 | +#if !defined(SWIFT_TYPEDEFS) | ||
31 | +# define SWIFT_TYPEDEFS 1 | ||
32 | +# if __has_include(<uchar.h>) | ||
33 | +# include <uchar.h> | ||
34 | +# elif !defined(__cplusplus) | ||
35 | +typedef uint_least16_t char16_t; | ||
36 | +typedef uint_least32_t char32_t; | ||
37 | +# endif | ||
38 | +typedef float swift_float2 __attribute__((__ext_vector_type__(2))); | ||
39 | +typedef float swift_float3 __attribute__((__ext_vector_type__(3))); | ||
40 | +typedef float swift_float4 __attribute__((__ext_vector_type__(4))); | ||
41 | +typedef double swift_double2 __attribute__((__ext_vector_type__(2))); | ||
42 | +typedef double swift_double3 __attribute__((__ext_vector_type__(3))); | ||
43 | +typedef double swift_double4 __attribute__((__ext_vector_type__(4))); | ||
44 | +typedef int swift_int2 __attribute__((__ext_vector_type__(2))); | ||
45 | +typedef int swift_int3 __attribute__((__ext_vector_type__(3))); | ||
46 | +typedef int swift_int4 __attribute__((__ext_vector_type__(4))); | ||
47 | +typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); | ||
48 | +typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); | ||
49 | +typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); | ||
50 | +#endif | ||
51 | + | ||
52 | +#if !defined(SWIFT_PASTE) | ||
53 | +# define SWIFT_PASTE_HELPER(x, y) x##y | ||
54 | +# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) | ||
55 | +#endif | ||
56 | +#if !defined(SWIFT_METATYPE) | ||
57 | +# define SWIFT_METATYPE(X) Class | ||
58 | +#endif | ||
59 | +#if !defined(SWIFT_CLASS_PROPERTY) | ||
60 | +# if __has_feature(objc_class_property) | ||
61 | +# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ | ||
62 | +# else | ||
63 | +# define SWIFT_CLASS_PROPERTY(...) | ||
64 | +# endif | ||
65 | +#endif | ||
66 | + | ||
67 | +#if __has_attribute(objc_runtime_name) | ||
68 | +# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) | ||
69 | +#else | ||
70 | +# define SWIFT_RUNTIME_NAME(X) | ||
71 | +#endif | ||
72 | +#if __has_attribute(swift_name) | ||
73 | +# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) | ||
74 | +#else | ||
75 | +# define SWIFT_COMPILE_NAME(X) | ||
76 | +#endif | ||
77 | +#if __has_attribute(objc_method_family) | ||
78 | +# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) | ||
79 | +#else | ||
80 | +# define SWIFT_METHOD_FAMILY(X) | ||
81 | +#endif | ||
82 | +#if __has_attribute(noescape) | ||
83 | +# define SWIFT_NOESCAPE __attribute__((noescape)) | ||
84 | +#else | ||
85 | +# define SWIFT_NOESCAPE | ||
86 | +#endif | ||
87 | +#if __has_attribute(ns_consumed) | ||
88 | +# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed)) | ||
89 | +#else | ||
90 | +# define SWIFT_RELEASES_ARGUMENT | ||
91 | +#endif | ||
92 | +#if __has_attribute(warn_unused_result) | ||
93 | +# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) | ||
94 | +#else | ||
95 | +# define SWIFT_WARN_UNUSED_RESULT | ||
96 | +#endif | ||
97 | +#if __has_attribute(noreturn) | ||
98 | +# define SWIFT_NORETURN __attribute__((noreturn)) | ||
99 | +#else | ||
100 | +# define SWIFT_NORETURN | ||
101 | +#endif | ||
102 | +#if !defined(SWIFT_CLASS_EXTRA) | ||
103 | +# define SWIFT_CLASS_EXTRA | ||
104 | +#endif | ||
105 | +#if !defined(SWIFT_PROTOCOL_EXTRA) | ||
106 | +# define SWIFT_PROTOCOL_EXTRA | ||
107 | +#endif | ||
108 | +#if !defined(SWIFT_ENUM_EXTRA) | ||
109 | +# define SWIFT_ENUM_EXTRA | ||
110 | +#endif | ||
111 | +#if !defined(SWIFT_CLASS) | ||
112 | +# if __has_attribute(objc_subclassing_restricted) | ||
113 | +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA | ||
114 | +# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA | ||
115 | +# else | ||
116 | +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA | ||
117 | +# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA | ||
118 | +# endif | ||
119 | +#endif | ||
120 | +#if !defined(SWIFT_RESILIENT_CLASS) | ||
121 | +# if __has_attribute(objc_class_stub) | ||
122 | +# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) | ||
123 | +# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) | ||
124 | +# else | ||
125 | +# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) | ||
126 | +# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) | ||
127 | +# endif | ||
128 | +#endif | ||
129 | + | ||
130 | +#if !defined(SWIFT_PROTOCOL) | ||
131 | +# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA | ||
132 | +# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA | ||
133 | +#endif | ||
134 | + | ||
135 | +#if !defined(SWIFT_EXTENSION) | ||
136 | +# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) | ||
137 | +#endif | ||
138 | + | ||
139 | +#if !defined(OBJC_DESIGNATED_INITIALIZER) | ||
140 | +# if __has_attribute(objc_designated_initializer) | ||
141 | +# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) | ||
142 | +# else | ||
143 | +# define OBJC_DESIGNATED_INITIALIZER | ||
144 | +# endif | ||
145 | +#endif | ||
146 | +#if !defined(SWIFT_ENUM_ATTR) | ||
147 | +# if defined(__has_attribute) && __has_attribute(enum_extensibility) | ||
148 | +# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) | ||
149 | +# else | ||
150 | +# define SWIFT_ENUM_ATTR(_extensibility) | ||
151 | +# endif | ||
152 | +#endif | ||
153 | +#if !defined(SWIFT_ENUM) | ||
154 | +# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type | ||
155 | +# if __has_feature(generalized_swift_name) | ||
156 | +# 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 | ||
157 | +# else | ||
158 | +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) | ||
159 | +# endif | ||
160 | +#endif | ||
161 | +#if !defined(SWIFT_UNAVAILABLE) | ||
162 | +# define SWIFT_UNAVAILABLE __attribute__((unavailable)) | ||
163 | +#endif | ||
164 | +#if !defined(SWIFT_UNAVAILABLE_MSG) | ||
165 | +# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) | ||
166 | +#endif | ||
167 | +#if !defined(SWIFT_AVAILABILITY) | ||
168 | +# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) | ||
169 | +#endif | ||
170 | +#if !defined(SWIFT_WEAK_IMPORT) | ||
171 | +# define SWIFT_WEAK_IMPORT __attribute__((weak_import)) | ||
172 | +#endif | ||
173 | +#if !defined(SWIFT_DEPRECATED) | ||
174 | +# define SWIFT_DEPRECATED __attribute__((deprecated)) | ||
175 | +#endif | ||
176 | +#if !defined(SWIFT_DEPRECATED_MSG) | ||
177 | +# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) | ||
178 | +#endif | ||
179 | +#if __has_feature(attribute_diagnose_if_objc) | ||
180 | +# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) | ||
181 | +#else | ||
182 | +# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) | ||
183 | +#endif | ||
184 | +#if !defined(IBSegueAction) | ||
185 | +# define IBSegueAction | ||
186 | +#endif | ||
187 | +#if __has_feature(modules) | ||
188 | +#if __has_warning("-Watimport-in-framework-header") | ||
189 | +#pragma clang diagnostic ignored "-Watimport-in-framework-header" | ||
190 | +#endif | ||
191 | +@import AVFoundation; | ||
192 | +@import CoreFoundation; | ||
193 | +@import CoreGraphics; | ||
194 | +@import CoreMedia; | ||
195 | +@import Foundation; | ||
196 | +@import ObjectiveC; | ||
197 | +@import Photos; | ||
198 | +@import QuartzCore; | ||
199 | +@import UIKit; | ||
200 | +#endif | ||
201 | + | ||
202 | +#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" | ||
203 | +#pragma clang diagnostic ignored "-Wduplicate-method-arg" | ||
204 | +#if __has_warning("-Wpragma-clang-attribute") | ||
205 | +# pragma clang diagnostic ignored "-Wpragma-clang-attribute" | ||
206 | +#endif | ||
207 | +#pragma clang diagnostic ignored "-Wunknown-pragmas" | ||
208 | +#pragma clang diagnostic ignored "-Wnullability" | ||
209 | + | ||
210 | +#if __has_attribute(external_source_symbol) | ||
211 | +# pragma push_macro("any") | ||
212 | +# undef any | ||
213 | +# 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)) | ||
214 | +# pragma pop_macro("any") | ||
215 | +#endif | ||
216 | + | ||
217 | + | ||
218 | + | ||
219 | + | ||
220 | +SWIFT_CLASS("_TtC13HHPhotoPicker20HHPhotoPickerManager") | ||
221 | +@interface HHPhotoPickerManager : NSObject | ||
222 | +- (nonnull instancetype)init SWIFT_UNAVAILABLE; | ||
223 | ++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); | ||
224 | +@end | ||
225 | + | ||
226 | + | ||
227 | + | ||
228 | + | ||
229 | +@class UIEvent; | ||
230 | +@class NSNumber; | ||
231 | + | ||
232 | +@interface UIControl (SWIFT_EXTENSION(HHPhotoPicker)) | ||
233 | +- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent * _Nullable)event SWIFT_WARN_UNUSED_RESULT; | ||
234 | +@end | ||
235 | + | ||
236 | + | ||
237 | + | ||
238 | + | ||
239 | + | ||
240 | + | ||
241 | + | ||
242 | +SWIFT_CLASS("_TtC13HHPhotoPicker16ZLAlbumListModel") | ||
243 | +@interface ZLAlbumListModel : NSObject | ||
244 | +- (nonnull instancetype)init SWIFT_UNAVAILABLE; | ||
245 | ++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); | ||
246 | +@end | ||
247 | + | ||
248 | + | ||
249 | +enum CaptureSessionPreset : NSInteger; | ||
250 | +enum FocusMode : NSInteger; | ||
251 | +enum ExposureMode : NSInteger; | ||
252 | +enum FlashMode : NSInteger; | ||
253 | +enum VideoExportType : NSInteger; | ||
254 | + | ||
255 | +SWIFT_CLASS("_TtC13HHPhotoPicker21ZLCameraConfiguration") | ||
256 | +@interface ZLCameraConfiguration : NSObject | ||
257 | +/// Video resolution. Defaults to hd1280x720. | ||
258 | +@property (nonatomic) enum CaptureSessionPreset sessionPreset; | ||
259 | +/// Camera focus mode. Defaults to continuousAutoFocus | ||
260 | +@property (nonatomic) enum FocusMode focusMode; | ||
261 | +/// Camera exposure mode. Defaults to continuousAutoExposure | ||
262 | +@property (nonatomic) enum ExposureMode exposureMode; | ||
263 | +/// Camera flahs mode. Default is off. Defaults to off. | ||
264 | +@property (nonatomic) enum FlashMode flashMode; | ||
265 | +/// Video export format for recording video and editing video. Defaults to mov. | ||
266 | +@property (nonatomic) enum VideoExportType videoExportType; | ||
267 | +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; | ||
268 | +@end | ||
269 | + | ||
270 | +typedef SWIFT_ENUM(NSInteger, CaptureSessionPreset, closed) { | ||
271 | + CaptureSessionPresetCif352x288 = 0, | ||
272 | + CaptureSessionPresetVga640x480 = 1, | ||
273 | + CaptureSessionPresetHd1280x720 = 2, | ||
274 | + CaptureSessionPresetHd1920x1080 = 3, | ||
275 | + CaptureSessionPresetHd4K3840x2160 = 4, | ||
276 | +}; | ||
277 | + | ||
278 | +typedef SWIFT_ENUM(NSInteger, FocusMode, closed) { | ||
279 | + FocusModeAutoFocus = 0, | ||
280 | + FocusModeContinuousAutoFocus = 1, | ||
281 | +}; | ||
282 | + | ||
283 | +typedef SWIFT_ENUM(NSInteger, ExposureMode, closed) { | ||
284 | + ExposureModeAutoExpose = 0, | ||
285 | + ExposureModeContinuousAutoExposure = 1, | ||
286 | +}; | ||
287 | + | ||
288 | +typedef SWIFT_ENUM(NSInteger, FlashMode, closed) { | ||
289 | + FlashModeAuto = 0, | ||
290 | + FlashModeOn = 1, | ||
291 | + FlashModeOff = 2, | ||
292 | +}; | ||
293 | + | ||
294 | +typedef SWIFT_ENUM(NSInteger, VideoExportType, closed) { | ||
295 | + VideoExportTypeMov = 0, | ||
296 | + VideoExportTypeMp4 = 1, | ||
297 | +}; | ||
298 | + | ||
299 | + | ||
300 | +@class UIImage; | ||
301 | +@class NSURL; | ||
302 | +@class NSCoder; | ||
303 | +@class CAAnimation; | ||
304 | +@class NSString; | ||
305 | +@class NSBundle; | ||
306 | + | ||
307 | +SWIFT_CLASS("_TtC13HHPhotoPicker14ZLCustomCamera") | ||
308 | +@interface ZLCustomCamera : UIViewController <CAAnimationDelegate> | ||
309 | +@property (nonatomic, copy) void (^ _Nullable takeDoneBlock)(UIImage * _Nullable, NSURL * _Nullable); | ||
310 | +@property (nonatomic, copy) void (^ _Nullable cancelBlock)(void); | ||
311 | +@property (nonatomic, readonly) UIInterfaceOrientationMask supportedInterfaceOrientations; | ||
312 | +@property (nonatomic, readonly) BOOL prefersStatusBarHidden; | ||
313 | +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; | ||
314 | +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; | ||
315 | +- (void)viewDidLoad; | ||
316 | +- (void)viewDidAppear:(BOOL)animated; | ||
317 | +- (void)viewWillDisappear:(BOOL)animated; | ||
318 | +- (void)viewDidDisappear:(BOOL)animated; | ||
319 | +- (void)viewDidLayoutSubviews; | ||
320 | +- (void)animationDidStop:(CAAnimation * _Nonnull)anim finished:(BOOL)flag; | ||
321 | +- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil SWIFT_UNAVAILABLE; | ||
322 | +@end | ||
323 | + | ||
324 | +@class UIGestureRecognizer; | ||
325 | + | ||
326 | +@interface ZLCustomCamera (SWIFT_EXTENSION(HHPhotoPicker)) <UIGestureRecognizerDelegate> | ||
327 | +- (BOOL)gestureRecognizer:(UIGestureRecognizer * _Nonnull)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer * _Nonnull)otherGestureRecognizer SWIFT_WARN_UNUSED_RESULT; | ||
328 | +@end | ||
329 | + | ||
330 | +@class AVCapturePhotoOutput; | ||
331 | +@class AVCaptureResolvedPhotoSettings; | ||
332 | +@class AVCaptureBracketedStillImageSettings; | ||
333 | + | ||
334 | +@interface ZLCustomCamera (SWIFT_EXTENSION(HHPhotoPicker)) <AVCapturePhotoCaptureDelegate> | ||
335 | +- (void)captureOutput:(AVCapturePhotoOutput * _Nonnull)output willCapturePhotoForResolvedSettings:(AVCaptureResolvedPhotoSettings * _Nonnull)resolvedSettings; | ||
336 | +- (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; | ||
337 | +@end | ||
338 | + | ||
339 | +@class AVCaptureFileOutput; | ||
340 | +@class AVCaptureConnection; | ||
341 | + | ||
342 | +@interface ZLCustomCamera (SWIFT_EXTENSION(HHPhotoPicker)) <AVCaptureFileOutputRecordingDelegate> | ||
343 | +- (void)captureOutput:(AVCaptureFileOutput * _Nonnull)output didStartRecordingToOutputFileAtURL:(NSURL * _Nonnull)fileURL fromConnections:(NSArray<AVCaptureConnection *> * _Nonnull)connections; | ||
344 | +- (void)captureOutput:(AVCaptureFileOutput * _Nonnull)output didFinishRecordingToOutputFileAtURL:(NSURL * _Nonnull)outputFileURL fromConnections:(NSArray<AVCaptureConnection *> * _Nonnull)connections error:(NSError * _Nullable)error; | ||
345 | +@end | ||
346 | + | ||
347 | + | ||
348 | +SWIFT_CLASS("_TtC13HHPhotoPicker10ZLDrawPath") | ||
349 | +@interface ZLDrawPath : NSObject | ||
350 | +- (nonnull instancetype)init SWIFT_UNAVAILABLE; | ||
351 | ++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); | ||
352 | +@end | ||
353 | + | ||
354 | +@class UIColor; | ||
355 | +@class ZLImageClipRatio; | ||
356 | +@class ZLFilter; | ||
357 | +@class UIView; | ||
358 | +@protocol ZLImageStickerContainerDelegate; | ||
359 | + | ||
360 | +SWIFT_CLASS("_TtC13HHPhotoPicker24ZLEditImageConfiguration") | ||
361 | +@interface ZLEditImageConfiguration : NSObject | ||
362 | +/// Edit image tools. (This property is only for objc). | ||
363 | +/// warning: | ||
364 | +/// If you want to use the image sticker feature, you must provide a view that implements ZLImageStickerContainerDelegate. | ||
365 | +@property (nonatomic, copy) NSArray<NSNumber *> * _Nonnull tools_objc; | ||
366 | +/// Draw colors for image editor. | ||
367 | +@property (nonatomic, copy) NSArray<UIColor *> * _Nonnull drawColors; | ||
368 | +/// The default draw color. If this color not in editImageDrawColors, will pick the first color in editImageDrawColors as the default. | ||
369 | +@property (nonatomic, strong) UIColor * _Nonnull defaultDrawColor; | ||
370 | +/// Edit ratios for image editor. | ||
371 | +@property (nonatomic, copy) NSArray<ZLImageClipRatio *> * _Nonnull clipRatios; | ||
372 | +/// Text sticker colors for image editor. | ||
373 | +@property (nonatomic, copy) NSArray<UIColor *> * _Nonnull textStickerTextColors; | ||
374 | +/// The default text sticker color. If this color not in textStickerTextColors, will pick the first color in textStickerTextColors as the default. | ||
375 | +@property (nonatomic, strong) UIColor * _Nonnull textStickerDefaultTextColor; | ||
376 | +/// Filters for image editor. | ||
377 | +@property (nonatomic, copy) NSArray<ZLFilter *> * _Nonnull filters; | ||
378 | +@property (nonatomic, strong) UIView <ZLImageStickerContainerDelegate> * _Nullable imageStickerContainerView; | ||
379 | +/// Adjust image tools. (This property is only for objc). | ||
380 | +/// Valid when the tools contain EditTool.adjust | ||
381 | +@property (nonatomic, copy) NSArray<NSNumber *> * _Nonnull adjustTools_objc; | ||
382 | +/// Give an impact feedback when the adjust slider value is zero. Defaults to true. | ||
383 | +@property (nonatomic) BOOL impactFeedbackWhenAdjustSliderValueIsZero; | ||
384 | +/// Impact feedback style. Defaults to .medium | ||
385 | +@property (nonatomic) UIImpactFeedbackStyle impactFeedbackStyle; | ||
386 | +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; | ||
387 | +@end | ||
388 | + | ||
389 | +typedef SWIFT_ENUM(NSInteger, EditTool, closed) { | ||
390 | + EditToolDraw = 0, | ||
391 | + EditToolClip = 1, | ||
392 | + EditToolImageSticker = 2, | ||
393 | + EditToolTextSticker = 3, | ||
394 | + EditToolMosaic = 4, | ||
395 | + EditToolFilter = 5, | ||
396 | + EditToolAdjust = 6, | ||
397 | +}; | ||
398 | + | ||
399 | +typedef SWIFT_ENUM(NSInteger, AdjustTool, closed) { | ||
400 | + AdjustToolBrightness = 0, | ||
401 | + AdjustToolContrast = 1, | ||
402 | + AdjustToolSaturation = 2, | ||
403 | +}; | ||
404 | + | ||
405 | + | ||
406 | + | ||
407 | +SWIFT_CLASS("_TtC13HHPhotoPicker16ZLEditImageModel") | ||
408 | +@interface ZLEditImageModel : NSObject | ||
409 | +- (nonnull instancetype)init SWIFT_UNAVAILABLE; | ||
410 | ++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); | ||
411 | +@end | ||
412 | + | ||
413 | +@class UIButton; | ||
414 | +@class UIScrollView; | ||
415 | +@class CAGradientLayer; | ||
416 | +@class UIImageView; | ||
417 | + | ||
418 | +SWIFT_CLASS("_TtC13HHPhotoPicker25ZLEditImageViewController") | ||
419 | +@interface ZLEditImageViewController : UIViewController | ||
420 | +@property (nonatomic) CGFloat drawColViewH; | ||
421 | +@property (nonatomic) CGFloat filterColViewH; | ||
422 | +@property (nonatomic) CGFloat adjustColViewH; | ||
423 | +@property (nonatomic, strong) UIColor * _Nonnull ashbinNormalBgColor; | ||
424 | +@property (nonatomic, strong) UIButton * _Nonnull cancelBtn; | ||
425 | +@property (nonatomic, strong) UIScrollView * _Nonnull mainScrollView; | ||
426 | +@property (nonatomic, strong) UIView * _Nonnull topShadowView; | ||
427 | +@property (nonatomic, strong) CAGradientLayer * _Nonnull topShadowLayer; | ||
428 | +@property (nonatomic, strong) UIView * _Nonnull bottomShadowView; | ||
429 | +@property (nonatomic, strong) CAGradientLayer * _Nonnull bottomShadowLayer; | ||
430 | +@property (nonatomic, strong) UIButton * _Nonnull doneBtn; | ||
431 | +@property (nonatomic, strong) UIButton * _Nonnull revokeBtn; | ||
432 | +@property (nonatomic, strong) UIView * _Nonnull ashbinView; | ||
433 | +@property (nonatomic, strong) UIImageView * _Nonnull ashbinImgView; | ||
434 | +@property (nonatomic) CGFloat drawLineWidth; | ||
435 | +@property (nonatomic) CGFloat mosaicLineWidth; | ||
436 | +@property (nonatomic, copy) void (^ _Nullable editFinishBlock)(UIImage * _Nonnull, ZLEditImageModel * _Nullable); | ||
437 | +@property (nonatomic, copy) void (^ _Nullable cancelEditBlock)(void); | ||
438 | +@property (nonatomic, readonly) BOOL prefersStatusBarHidden; | ||
439 | +@property (nonatomic, readonly) UIInterfaceOrientationMask supportedInterfaceOrientations; | ||
440 | ++ (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; | ||
441 | +- (nonnull instancetype)initWithImage:(UIImage * _Nonnull)image editModel:(ZLEditImageModel * _Nullable)editModel OBJC_DESIGNATED_INITIALIZER; | ||
442 | +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; | ||
443 | +- (void)viewDidLoad; | ||
444 | +- (void)viewDidLayoutSubviews; | ||
445 | +- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil SWIFT_UNAVAILABLE; | ||
446 | +@end | ||
447 | + | ||
448 | + | ||
449 | +@interface ZLEditImageViewController (SWIFT_EXTENSION(HHPhotoPicker)) <UIGestureRecognizerDelegate> | ||
450 | +- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer * _Nonnull)gestureRecognizer SWIFT_WARN_UNUSED_RESULT; | ||
451 | +@end | ||
452 | + | ||
453 | +@class UICollectionView; | ||
454 | +@class NSIndexPath; | ||
455 | +@class UICollectionViewCell; | ||
456 | + | ||
457 | +@interface ZLEditImageViewController (SWIFT_EXTENSION(HHPhotoPicker)) <UICollectionViewDataSource, UICollectionViewDelegate> | ||
458 | +- (NSInteger)collectionView:(UICollectionView * _Nonnull)collectionView numberOfItemsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; | ||
459 | +- (UICollectionViewCell * _Nonnull)collectionView:(UICollectionView * _Nonnull)collectionView cellForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; | ||
460 | +- (void)collectionView:(UICollectionView * _Nonnull)collectionView didSelectItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath; | ||
461 | +@end | ||
462 | + | ||
463 | + | ||
464 | + | ||
465 | +@interface ZLEditImageViewController (SWIFT_EXTENSION(HHPhotoPicker)) <UIScrollViewDelegate> | ||
466 | +- (UIView * _Nullable)viewForZoomingInScrollView:(UIScrollView * _Nonnull)scrollView SWIFT_WARN_UNUSED_RESULT; | ||
467 | +- (void)scrollViewDidZoom:(UIScrollView * _Nonnull)scrollView; | ||
468 | +- (void)scrollViewDidEndZooming:(UIScrollView * _Nonnull)scrollView withView:(UIView * _Nullable)view atScale:(CGFloat)scale; | ||
469 | +- (void)scrollViewDidScroll:(UIScrollView * _Nonnull)scrollView; | ||
470 | +- (void)scrollViewDidEndDragging:(UIScrollView * _Nonnull)scrollView willDecelerate:(BOOL)decelerate; | ||
471 | +- (void)scrollViewDidEndDecelerating:(UIScrollView * _Nonnull)scrollView; | ||
472 | +- (void)scrollViewDidEndScrollingAnimation:(UIScrollView * _Nonnull)scrollView; | ||
473 | +@end | ||
474 | + | ||
475 | +@class AVAsset; | ||
476 | + | ||
477 | +SWIFT_CLASS("_TtC13HHPhotoPicker25ZLEditVideoViewController") | ||
478 | +@interface ZLEditVideoViewController : UIViewController | ||
479 | +@property (nonatomic, copy) void (^ _Nullable editFinishBlock)(NSURL * _Nullable); | ||
480 | +@property (nonatomic, readonly) BOOL prefersStatusBarHidden; | ||
481 | +@property (nonatomic, readonly) UIInterfaceOrientationMask supportedInterfaceOrientations; | ||
482 | +/// initialize | ||
483 | +/// \param avAsset AVAsset对象,需要传入本地视频,网络视频不支持 | ||
484 | +/// | ||
485 | +/// \param animateDismiss 退出界面时是否显示dismiss动画 | ||
486 | +/// | ||
487 | +- (nonnull instancetype)initWithAvAsset:(AVAsset * _Nonnull)avAsset animateDismiss:(BOOL)animateDismiss OBJC_DESIGNATED_INITIALIZER; | ||
488 | +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE; | ||
489 | +- (void)viewDidLoad; | ||
490 | +- (void)viewDidAppear:(BOOL)animated; | ||
491 | +- (void)viewDidLayoutSubviews; | ||
492 | +- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil SWIFT_UNAVAILABLE; | ||
493 | +@end | ||
494 | + | ||
495 | + | ||
496 | +@interface ZLEditVideoViewController (SWIFT_EXTENSION(HHPhotoPicker)) <UIGestureRecognizerDelegate> | ||
497 | +- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer * _Nonnull)gestureRecognizer SWIFT_WARN_UNUSED_RESULT; | ||
498 | +@end | ||
499 | + | ||
500 | +@class UICollectionViewLayout; | ||
501 | + | ||
502 | +@interface ZLEditVideoViewController (SWIFT_EXTENSION(HHPhotoPicker)) <UICollectionViewDataSource, UICollectionViewDelegateFlowLayout> | ||
503 | +- (void)scrollViewDidScroll:(UIScrollView * _Nonnull)scrollView; | ||
504 | +- (void)scrollViewDidEndDragging:(UIScrollView * _Nonnull)scrollView willDecelerate:(BOOL)decelerate; | ||
505 | +- (void)scrollViewDidEndDecelerating:(UIScrollView * _Nonnull)scrollView; | ||
506 | +- (UIEdgeInsets)collectionView:(UICollectionView * _Nonnull)collectionView layout:(UICollectionViewLayout * _Nonnull)collectionViewLayout insetForSectionAtIndex:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; | ||
507 | +- (NSInteger)collectionView:(UICollectionView * _Nonnull)collectionView numberOfItemsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; | ||
508 | +- (UICollectionViewCell * _Nonnull)collectionView:(UICollectionView * _Nonnull)collectionView cellForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; | ||
509 | +- (void)collectionView:(UICollectionView * _Nonnull)collectionView willDisplayCell:(UICollectionViewCell * _Nonnull)cell forItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath; | ||
510 | +@end | ||
511 | + | ||
512 | +enum ZLFilterType : NSInteger; | ||
513 | + | ||
514 | +SWIFT_CLASS("_TtC13HHPhotoPicker8ZLFilter") | ||
515 | +@interface ZLFilter : NSObject | ||
516 | +- (nonnull instancetype)initWithName:(NSString * _Nonnull)name filterType:(enum ZLFilterType)filterType OBJC_DESIGNATED_INITIALIZER; | ||
517 | +/// 可传入 applier 自定义滤镜 | ||
518 | +- (nonnull instancetype)initWithName:(NSString * _Nonnull)name applier:(UIImage * _Nonnull (^ _Nullable)(UIImage * _Nonnull))applier OBJC_DESIGNATED_INITIALIZER; | ||
519 | +- (nonnull instancetype)init SWIFT_UNAVAILABLE; | ||
520 | ++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); | ||
521 | +@end | ||
522 | + | ||
523 | + | ||
524 | + | ||
525 | +@interface ZLFilter (SWIFT_EXTENSION(HHPhotoPicker)) | ||
526 | +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSArray<ZLFilter *> * _Nonnull all;) | ||
527 | ++ (NSArray<ZLFilter *> * _Nonnull)all SWIFT_WARN_UNUSED_RESULT; | ||
528 | +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull normal;) | ||
529 | ++ (ZLFilter * _Nonnull)normal SWIFT_WARN_UNUSED_RESULT; | ||
530 | +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull clarendon;) | ||
531 | ++ (ZLFilter * _Nonnull)clarendon SWIFT_WARN_UNUSED_RESULT; | ||
532 | +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull nashville;) | ||
533 | ++ (ZLFilter * _Nonnull)nashville SWIFT_WARN_UNUSED_RESULT; | ||
534 | +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull apply1977;) | ||
535 | ++ (ZLFilter * _Nonnull)apply1977 SWIFT_WARN_UNUSED_RESULT; | ||
536 | +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull toaster;) | ||
537 | ++ (ZLFilter * _Nonnull)toaster SWIFT_WARN_UNUSED_RESULT; | ||
538 | +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull chrome;) | ||
539 | ++ (ZLFilter * _Nonnull)chrome SWIFT_WARN_UNUSED_RESULT; | ||
540 | +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull fade;) | ||
541 | ++ (ZLFilter * _Nonnull)fade SWIFT_WARN_UNUSED_RESULT; | ||
542 | +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull instant;) | ||
543 | ++ (ZLFilter * _Nonnull)instant SWIFT_WARN_UNUSED_RESULT; | ||
544 | +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull process;) | ||
545 | ++ (ZLFilter * _Nonnull)process SWIFT_WARN_UNUSED_RESULT; | ||
546 | +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull transfer;) | ||
547 | ++ (ZLFilter * _Nonnull)transfer SWIFT_WARN_UNUSED_RESULT; | ||
548 | +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull tone;) | ||
549 | ++ (ZLFilter * _Nonnull)tone SWIFT_WARN_UNUSED_RESULT; | ||
550 | +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull linear;) | ||
551 | ++ (ZLFilter * _Nonnull)linear SWIFT_WARN_UNUSED_RESULT; | ||
552 | +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull sepia;) | ||
553 | ++ (ZLFilter * _Nonnull)sepia SWIFT_WARN_UNUSED_RESULT; | ||
554 | +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull mono;) | ||
555 | ++ (ZLFilter * _Nonnull)mono SWIFT_WARN_UNUSED_RESULT; | ||
556 | +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull noir;) | ||
557 | ++ (ZLFilter * _Nonnull)noir SWIFT_WARN_UNUSED_RESULT; | ||
558 | +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLFilter * _Nonnull tonal;) | ||
559 | ++ (ZLFilter * _Nonnull)tonal SWIFT_WARN_UNUSED_RESULT; | ||
560 | +@end | ||
561 | + | ||
562 | +typedef SWIFT_ENUM(NSInteger, ZLFilterType, closed) { | ||
563 | + ZLFilterTypeNormal = 0, | ||
564 | + ZLFilterTypeChrome = 1, | ||
565 | + ZLFilterTypeFade = 2, | ||
566 | + ZLFilterTypeInstant = 3, | ||
567 | + ZLFilterTypeProcess = 4, | ||
568 | + ZLFilterTypeTransfer = 5, | ||
569 | + ZLFilterTypeTone = 6, | ||
570 | + ZLFilterTypeLinear = 7, | ||
571 | + ZLFilterTypeSepia = 8, | ||
572 | + ZLFilterTypeMono = 9, | ||
573 | + ZLFilterTypeNoir = 10, | ||
574 | + ZLFilterTypeTonal = 11, | ||
575 | +}; | ||
576 | + | ||
577 | + | ||
578 | +SWIFT_CLASS("_TtC13HHPhotoPicker16ZLImageClipRatio") | ||
579 | +@interface ZLImageClipRatio : NSObject | ||
580 | +- (nonnull instancetype)initWithTitle:(NSString * _Nonnull)title whRatio:(CGFloat)whRatio isCircle:(BOOL)isCircle OBJC_DESIGNATED_INITIALIZER; | ||
581 | +- (nonnull instancetype)init SWIFT_UNAVAILABLE; | ||
582 | ++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); | ||
583 | +@end | ||
584 | + | ||
585 | + | ||
586 | + | ||
587 | +@interface ZLImageClipRatio (SWIFT_EXTENSION(HHPhotoPicker)) | ||
588 | +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLImageClipRatio * _Nonnull custom;) | ||
589 | ++ (ZLImageClipRatio * _Nonnull)custom SWIFT_WARN_UNUSED_RESULT; | ||
590 | +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLImageClipRatio * _Nonnull circle;) | ||
591 | ++ (ZLImageClipRatio * _Nonnull)circle SWIFT_WARN_UNUSED_RESULT; | ||
592 | +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLImageClipRatio * _Nonnull wh1x1;) | ||
593 | ++ (ZLImageClipRatio * _Nonnull)wh1x1 SWIFT_WARN_UNUSED_RESULT; | ||
594 | +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLImageClipRatio * _Nonnull wh3x4;) | ||
595 | ++ (ZLImageClipRatio * _Nonnull)wh3x4 SWIFT_WARN_UNUSED_RESULT; | ||
596 | +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLImageClipRatio * _Nonnull wh4x3;) | ||
597 | ++ (ZLImageClipRatio * _Nonnull)wh4x3 SWIFT_WARN_UNUSED_RESULT; | ||
598 | +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLImageClipRatio * _Nonnull wh2x3;) | ||
599 | ++ (ZLImageClipRatio * _Nonnull)wh2x3 SWIFT_WARN_UNUSED_RESULT; | ||
600 | +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLImageClipRatio * _Nonnull wh3x2;) | ||
601 | ++ (ZLImageClipRatio * _Nonnull)wh3x2 SWIFT_WARN_UNUSED_RESULT; | ||
602 | +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLImageClipRatio * _Nonnull wh9x16;) | ||
603 | ++ (ZLImageClipRatio * _Nonnull)wh9x16 SWIFT_WARN_UNUSED_RESULT; | ||
604 | +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) ZLImageClipRatio * _Nonnull wh16x9;) | ||
605 | ++ (ZLImageClipRatio * _Nonnull)wh16x9 SWIFT_WARN_UNUSED_RESULT; | ||
606 | +@end | ||
607 | + | ||
608 | +enum ZLURLType : NSInteger; | ||
609 | + | ||
610 | +SWIFT_CLASS("_TtC13HHPhotoPicker24ZLImagePreviewController") | ||
611 | +@interface ZLImagePreviewController : UIViewController | ||
612 | +@property (nonatomic, copy) void (^ _Nullable longPressBlock)(ZLImagePreviewController * _Nullable, UIImage * _Nullable, NSInteger); | ||
613 | +@property (nonatomic, copy) void (^ _Nullable doneBlock)(NSArray * _Nonnull); | ||
614 | +@property (nonatomic, copy) NSDictionary<NSString *, id> * _Nullable videoHttpHeader; | ||
615 | +@property (nonatomic, readonly) BOOL prefersStatusBarHidden; | ||
616 | +@property (nonatomic, readonly) UIStatusBarStyle preferredStatusBarStyle; | ||
617 | +/// \param datas Must be one of PHAsset, UIImage and URL, will filter others in init function. | ||
618 | +/// | ||
619 | +/// \param showBottomView If showSelectBtn is true, showBottomView is always true. | ||
620 | +/// | ||
621 | +/// \param index Index for first display. | ||
622 | +/// | ||
623 | +/// \param urlType Tell me the url is image or video. | ||
624 | +/// | ||
625 | +/// \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. | ||
626 | +/// | ||
627 | +- (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; | ||
628 | +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE; | ||
629 | +- (void)viewDidLoad; | ||
630 | +- (void)viewWillAppear:(BOOL)animated; | ||
631 | +- (void)viewDidAppear:(BOOL)animated; | ||
632 | +- (void)viewDidLayoutSubviews; | ||
633 | +- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil SWIFT_UNAVAILABLE; | ||
634 | +@end | ||
635 | + | ||
636 | + | ||
637 | +@interface ZLImagePreviewController (SWIFT_EXTENSION(HHPhotoPicker)) | ||
638 | +- (void)scrollViewDidScroll:(UIScrollView * _Nonnull)scrollView; | ||
639 | +- (void)scrollViewDidEndDecelerating:(UIScrollView * _Nonnull)scrollView; | ||
640 | +@end | ||
641 | + | ||
642 | + | ||
643 | +@interface ZLImagePreviewController (SWIFT_EXTENSION(HHPhotoPicker)) <UICollectionViewDataSource, UICollectionViewDelegateFlowLayout> | ||
644 | +- (CGFloat)collectionView:(UICollectionView * _Nonnull)collectionView layout:(UICollectionViewLayout * _Nonnull)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; | ||
645 | +- (CGFloat)collectionView:(UICollectionView * _Nonnull)collectionView layout:(UICollectionViewLayout * _Nonnull)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; | ||
646 | +- (UIEdgeInsets)collectionView:(UICollectionView * _Nonnull)collectionView layout:(UICollectionViewLayout * _Nonnull)collectionViewLayout insetForSectionAtIndex:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; | ||
647 | +- (CGSize)collectionView:(UICollectionView * _Nonnull)collectionView layout:(UICollectionViewLayout * _Nonnull)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; | ||
648 | +- (NSInteger)collectionView:(UICollectionView * _Nonnull)collectionView numberOfItemsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; | ||
649 | +- (UICollectionViewCell * _Nonnull)collectionView:(UICollectionView * _Nonnull)collectionView cellForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; | ||
650 | +- (void)collectionView:(UICollectionView * _Nonnull)collectionView didEndDisplayingCell:(UICollectionViewCell * _Nonnull)cell forItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath; | ||
651 | +@end | ||
652 | + | ||
653 | + | ||
654 | +SWIFT_PROTOCOL("_TtP13HHPhotoPicker31ZLImageStickerContainerDelegate_") | ||
655 | +@protocol ZLImageStickerContainerDelegate | ||
656 | +@property (nonatomic, copy) void (^ _Nullable selectImageBlock)(UIImage * _Nonnull); | ||
657 | +@property (nonatomic, copy) void (^ _Nullable hideBlock)(void); | ||
658 | +- (void)showIn:(UIView * _Nonnull)view; | ||
659 | +@end | ||
660 | + | ||
661 | + | ||
662 | +SWIFT_CLASS("_TtC13HHPhotoPicker19ZLImageStickerState") | ||
663 | +@interface ZLImageStickerState : NSObject | ||
664 | +- (nonnull instancetype)init SWIFT_UNAVAILABLE; | ||
665 | ++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); | ||
666 | +@end | ||
667 | + | ||
668 | +typedef SWIFT_ENUM(NSInteger, ZLLanguageType, closed) { | ||
669 | + ZLLanguageTypeSystem = 0, | ||
670 | + ZLLanguageTypeChineseSimplified = 1, | ||
671 | + ZLLanguageTypeChineseTraditional = 2, | ||
672 | + ZLLanguageTypeEnglish = 3, | ||
673 | + ZLLanguageTypeJapanese = 4, | ||
674 | + ZLLanguageTypeFrench = 5, | ||
675 | + ZLLanguageTypeGerman = 6, | ||
676 | + ZLLanguageTypeRussian = 7, | ||
677 | + ZLLanguageTypeVietnamese = 8, | ||
678 | + ZLLanguageTypeKorean = 9, | ||
679 | + ZLLanguageTypeMalay = 10, | ||
680 | + ZLLanguageTypeItalian = 11, | ||
681 | + ZLLanguageTypeIndonesian = 12, | ||
682 | + ZLLanguageTypePortuguese = 13, | ||
683 | + ZLLanguageTypeSpanish = 14, | ||
684 | + ZLLanguageTypeTurkish = 15, | ||
685 | +}; | ||
686 | + | ||
687 | + | ||
688 | +SWIFT_CLASS("_TtC13HHPhotoPicker12ZLMosaicPath") | ||
689 | +@interface ZLMosaicPath : NSObject | ||
690 | +- (nonnull instancetype)init SWIFT_UNAVAILABLE; | ||
691 | ++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); | ||
692 | +@end | ||
693 | + | ||
694 | +typedef SWIFT_ENUM(NSInteger, ZLNoAuthorityType, closed) { | ||
695 | + ZLNoAuthorityTypeLibrary = 0, | ||
696 | + ZLNoAuthorityTypeCamera = 1, | ||
697 | + ZLNoAuthorityTypeMicrophone = 2, | ||
698 | +}; | ||
699 | + | ||
700 | +typedef SWIFT_ENUM(NSInteger, ZLPhotoBrowserStyle, closed) { | ||
701 | +/// The album list is embedded in the navigation of the thumbnail interface, click the drop-down display. | ||
702 | + ZLPhotoBrowserStyleEmbedAlbumList = 0, | ||
703 | +/// The display relationship between the album list and the thumbnail interface is push. | ||
704 | + ZLPhotoBrowserStyleExternalAlbumList = 1, | ||
705 | +}; | ||
706 | + | ||
707 | +enum CancelButtonStyle : NSInteger; | ||
708 | +enum HUDStyle : NSInteger; | ||
709 | +@class PHAsset; | ||
710 | + | ||
711 | +SWIFT_CLASS("_TtC13HHPhotoPicker20ZLPhotoConfiguration") | ||
712 | +@interface ZLPhotoConfiguration : NSObject | ||
713 | ++ (ZLPhotoConfiguration * _Nonnull)default SWIFT_WARN_UNUSED_RESULT; | ||
714 | ++ (void)resetConfiguration; | ||
715 | +/// Framework style. | ||
716 | +@property (nonatomic) enum ZLPhotoBrowserStyle style; | ||
717 | +@property (nonatomic) UIStatusBarStyle statusBarStyle; | ||
718 | +/// text: Cancel. image: ‘x’. Default to text. | ||
719 | +@property (nonatomic) enum CancelButtonStyle navCancelButtonStyle; | ||
720 | +/// Photo sorting method, the preview interface is not affected by this parameter. Defaults to true. | ||
721 | +@property (nonatomic) BOOL sortAscending; | ||
722 | +/// Anything superior than 1 will enable the multiple selection feature. Defaults to 9. | ||
723 | +@property (nonatomic) NSInteger maxSelectCount; | ||
724 | +/// A count for video max selection. Defaults to 0. | ||
725 | +/// warning: | ||
726 | +/// Only valid in mix selection mode. (i.e. allowMixSelect = true) | ||
727 | +@property (nonatomic) NSInteger maxVideoSelectCount; | ||
728 | +/// A count for video min selection. Defaults to 0. | ||
729 | +/// warning: | ||
730 | +/// Only valid in mix selection mode. (i.e. allowMixSelect = true) | ||
731 | +@property (nonatomic) NSInteger minVideoSelectCount; | ||
732 | +/// Whether photos and videos can be selected together. Defaults to true. | ||
733 | +/// If set to false, only one video can be selected. Defaults to true. | ||
734 | +@property (nonatomic) BOOL allowMixSelect; | ||
735 | +/// 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. | ||
736 | +@property (nonatomic) NSInteger maxPreviewCount; | ||
737 | +@property (nonatomic) CGFloat cellCornerRadio; | ||
738 | +/// If set to false, gif and livephoto cannot be selected either. Defaults to true. | ||
739 | +@property (nonatomic) BOOL allowSelectImage; | ||
740 | +@property (nonatomic) BOOL allowSelectVideo; | ||
741 | +/// Allow select Gif, it only controls whether it is displayed in Gif form. | ||
742 | +/// If value is false, the Gif logo is not displayed. Defaults to true. | ||
743 | +@property (nonatomic) BOOL allowSelectGif; | ||
744 | +/// Allow select LivePhoto, it only controls whether it is displayed in LivePhoto form. | ||
745 | +/// If value is false, the LivePhoto logo is not displayed. Defaults to false. | ||
746 | +@property (nonatomic) BOOL allowSelectLivePhoto; | ||
747 | +/// Allow take photos in the album. Defaults to true. | ||
748 | +/// warning: | ||
749 | +/// If allowTakePhoto and allowRecordVideo are both false, it will not be displayed. | ||
750 | +@property (nonatomic) BOOL allowTakePhotoInLibrary; | ||
751 | +@property (nonatomic) BOOL allowEditImage; | ||
752 | +@property (nonatomic) BOOL allowEditVideo; | ||
753 | +/// Control whether to display the selection button animation when selecting. Defaults to true. | ||
754 | +@property (nonatomic) BOOL animateSelectBtnWhenSelect; | ||
755 | +/// Animation duration for select button | ||
756 | +@property (nonatomic) CFTimeInterval selectBtnAnimationDuration; | ||
757 | +/// After selecting a image/video in the thumbnail interface, enter the editing interface directly. Defaults to false. | ||
758 | +/// <ul> | ||
759 | +/// <li> | ||
760 | +/// discussion: Editing image is only valid when allowEditImage is true and maxSelectCount is 1. | ||
761 | +/// Editing video is only valid when allowEditVideo is true and maxSelectCount is 1. | ||
762 | +/// </li> | ||
763 | +/// </ul> | ||
764 | +@property (nonatomic) BOOL editAfterSelectThumbnailImage; | ||
765 | +/// Only valid when allowMixSelect is false and allowEditVideo is true. Defaults to true. | ||
766 | +/// 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>. | ||
767 | +@property (nonatomic) BOOL cropVideoAfterSelectThumbnail; | ||
768 | +/// 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. | ||
769 | +@property (nonatomic) BOOL showClipDirectlyIfOnlyHasClipTool; | ||
770 | +/// Save the edited image to the album after editing. Defaults to true. | ||
771 | +@property (nonatomic) BOOL saveNewImageAfterEdit; | ||
772 | +/// If true, you can slide select photos in album. Defaults to true. | ||
773 | +@property (nonatomic) BOOL allowSlideSelect; | ||
774 | +/// When slide select is active, will auto scroll to top or bottom when your finger at the top or bottom. Defaults to true. | ||
775 | +@property (nonatomic) BOOL autoScrollWhenSlideSelectIsActive; | ||
776 | +/// The max speed (pt/s) of auto scroll. Defaults to 600. | ||
777 | +@property (nonatomic) CGFloat autoScrollMaxSpeed; | ||
778 | +/// If true, you can drag select photo when preview selection style. Defaults to false. | ||
779 | +@property (nonatomic) BOOL allowDragSelect; | ||
780 | +/// Allow select full image. Defaults to true. | ||
781 | +@property (nonatomic) BOOL allowSelectOriginal; | ||
782 | +/// 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. | ||
783 | +@property (nonatomic) BOOL allowPreviewPhotos; | ||
784 | +/// Whether to show the status bar when previewing photos. Defaults to false. | ||
785 | +@property (nonatomic) BOOL showStatusBarInPreviewInterface; | ||
786 | +/// Whether to show the preview button (i.e. the preview button in the lower left corner of the thumbnail interface). Defaults to true. | ||
787 | +@property (nonatomic) BOOL showPreviewButtonInAlbum; | ||
788 | +/// Whether to display the selected count on the button. Defaults to true. | ||
789 | +@property (nonatomic) BOOL showSelectCountOnDoneBtn; | ||
790 | +/// The column count when iPhone is in portait mode. Minimum is 2, maximum is 6. Defaults to 4. | ||
791 | +/// \code | ||
792 | +/// iPhone landscape mode: columnCount += 2. | ||
793 | +/// iPad portait mode: columnCount += 2. | ||
794 | +/// iPad landscape mode: columnCount += 4. | ||
795 | +/// | ||
796 | +/// \endcode | ||
797 | +@property (nonatomic) NSInteger columnCount; | ||
798 | +/// Maximum cropping time when editing video, unit: second. Defaults to 10. | ||
799 | +@property (nonatomic) NSInteger maxEditVideoTime; | ||
800 | +/// Allow to choose the maximum duration of the video. Defaults to 120. | ||
801 | +@property (nonatomic) NSInteger maxSelectVideoDuration; | ||
802 | +/// Allow to choose the minimum duration of the video. Defaults to 0. | ||
803 | +@property (nonatomic) NSInteger minSelectVideoDuration; | ||
804 | +/// Image editor configuration. | ||
805 | +@property (nonatomic, strong) ZLEditImageConfiguration * _Nonnull editImageConfiguration; | ||
806 | +@property (nonatomic, copy) NSArray<UIColor *> * _Nonnull editImageDrawColors SWIFT_DEPRECATED_MSG("Use editImageConfiguration, this property will be removed"); | ||
807 | +@property (nonatomic, strong) UIColor * _Nonnull editImageDefaultDrawColor SWIFT_DEPRECATED_MSG("Use editImageConfiguration, this property will be removed"); | ||
808 | +@property (nonatomic, copy) NSArray<ZLImageClipRatio *> * _Nonnull editImageClipRatios SWIFT_DEPRECATED_MSG("Use editImageConfiguration, this property will be removed"); | ||
809 | +@property (nonatomic, copy) NSArray<UIColor *> * _Nonnull textStickerTextColors SWIFT_DEPRECATED_MSG("Use editImageConfiguration, this property will be removed"); | ||
810 | +@property (nonatomic, strong) UIColor * _Nonnull textStickerDefaultTextColor SWIFT_DEPRECATED_MSG("Use editImageConfiguration, this property will be removed"); | ||
811 | +@property (nonatomic, copy) NSArray<ZLFilter *> * _Nonnull filters SWIFT_DEPRECATED_MSG("Use editImageConfiguration, this property will be removed"); | ||
812 | +@property (nonatomic, strong) UIView <ZLImageStickerContainerDelegate> * _Nullable imageStickerContainerView SWIFT_DEPRECATED_MSG("Use editImageConfiguration, this property will be removed"); | ||
813 | +/// Show the image captured by the camera is displayed on the camera button inside the album. Defaults to false. | ||
814 | +@property (nonatomic) BOOL showCaptureImageOnTakePhotoBtn; | ||
815 | +/// In single selection mode, whether to display the selection button. Defaults to false. | ||
816 | +@property (nonatomic) BOOL showSelectBtnWhenSingleSelect; | ||
817 | +/// Overlay a mask layer on top of the selected photos. Defaults to true. | ||
818 | +@property (nonatomic) BOOL showSelectedMask; | ||
819 | +/// Display a border on the selected photos cell. Defaults to false. | ||
820 | +@property (nonatomic) BOOL showSelectedBorder; | ||
821 | +/// Overlay a mask layer above the cells that cannot be selected. Defaults to true. | ||
822 | +@property (nonatomic) BOOL showInvalidMask; | ||
823 | +/// Display the index of the selected photos. Defaults to true. | ||
824 | +@property (nonatomic) BOOL showSelectedIndex; | ||
825 | +/// Display the selected photos at the bottom of the preview large photos interface. Defaults to true. | ||
826 | +@property (nonatomic) BOOL showSelectedPhotoPreview; | ||
827 | +/// Allow framework fetch photos when callback. Defaults to true. | ||
828 | +@property (nonatomic) BOOL shouldAnialysisAsset; | ||
829 | +/// Timeout for image parsing. Defaults to 20. | ||
830 | +@property (nonatomic) NSTimeInterval timeout; | ||
831 | +/// Language for framework. | ||
832 | +@property (nonatomic) enum ZLLanguageType languageType; | ||
833 | +/// Whether to use custom camera. Defaults to true. | ||
834 | +@property (nonatomic) BOOL useCustomCamera; | ||
835 | +/// Allow taking photos in the camera (Need allowSelectImage to be true). Defaults to true. | ||
836 | +@property (nonatomic) BOOL allowTakePhoto; | ||
837 | +/// Allow recording in the camera (Need allowSelectVideo to be true). Defaults to true. | ||
838 | +@property (nonatomic) BOOL allowRecordVideo; | ||
839 | +/// Minimum recording duration. Defaults to 0. | ||
840 | +@property (nonatomic) NSInteger minRecordDuration; | ||
841 | +/// Maximum recording duration. Defaults to 10, minimum is 1. | ||
842 | +@property (nonatomic) NSInteger maxRecordDuration; | ||
843 | +/// The configuration for camera. | ||
844 | +@property (nonatomic, strong) ZLCameraConfiguration * _Nonnull cameraConfiguration; | ||
845 | +/// Hud style. Defaults to lightBlur. | ||
846 | +@property (nonatomic) enum HUDStyle hudStyle; | ||
847 | +/// This block will be called before selecting an image, the developer can first determine whether the asset is allowed to be selected. | ||
848 | +/// Only control whether it is allowed to be selected, and will not affect the selection logic in the framework. | ||
849 | +/// <ul> | ||
850 | +/// <li> | ||
851 | +/// Tips: If the choice is not allowed, the developer can toast prompt the user for relevant information. | ||
852 | +/// </li> | ||
853 | +/// </ul> | ||
854 | +@property (nonatomic, copy) BOOL (^ _Nullable canSelectAsset)(PHAsset * _Nonnull); | ||
855 | +/// 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. | ||
856 | +/// E.g., Sina Weibo’s ImagePicker | ||
857 | +@property (nonatomic) BOOL showAddPhotoButton; | ||
858 | +/// iOS14 limited Photo mode, will show collection footer view in ZLThumbnailViewController. | ||
859 | +/// Will go to system setting if clicked. Defaults to true. | ||
860 | +@property (nonatomic) BOOL showEnterSettingTips; | ||
861 | +/// Callback after the no authority alert dismiss. | ||
862 | +@property (nonatomic, copy) void (^ _Nullable noAuthorityCallback)(enum ZLNoAuthorityType); | ||
863 | +/// Allow user to do something before select photo result callback. | ||
864 | +/// And you must call the second parameter of this block to continue the photos selection. | ||
865 | +/// The first parameter is the current controller. | ||
866 | +/// The second parameter is the block that needs to be called after the user completes the operation. | ||
867 | +@property (nonatomic, copy) void (^ _Nullable operateBeforeDoneAction)(UIViewController * _Nonnull, void (^ _Nonnull)(void)); | ||
868 | +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; | ||
869 | +@end | ||
870 | + | ||
871 | +typedef SWIFT_ENUM(NSInteger, CancelButtonStyle, closed) { | ||
872 | + CancelButtonStyleText = 0, | ||
873 | + CancelButtonStyleImage = 1, | ||
874 | +}; | ||
875 | + | ||
876 | + | ||
877 | +@interface ZLPhotoConfiguration (SWIFT_EXTENSION(HHPhotoPicker)) | ||
878 | +- (ZLPhotoConfiguration * _Nonnull)allowSelectVideo:(BOOL)value; | ||
879 | +- (ZLPhotoConfiguration * _Nonnull)canSelectAsset:(BOOL (^ _Nullable)(PHAsset * _Nonnull))block; | ||
880 | +- (ZLPhotoConfiguration * _Nonnull)showAddPhotoButton:(BOOL)value; | ||
881 | +- (ZLPhotoConfiguration * _Nonnull)showEnterSettingTips:(BOOL)value; | ||
882 | +- (ZLPhotoConfiguration * _Nonnull)noAuthorityCallback:(void (^ _Nullable)(enum ZLNoAuthorityType))callback; | ||
883 | +- (ZLPhotoConfiguration * _Nonnull)operateBeforeDoneAction:(void (^ _Nullable)(UIViewController * _Nonnull, void (^ _Nonnull)(void)))block; | ||
884 | +@end | ||
885 | + | ||
886 | +@class ZLPhotoModel; | ||
887 | +@class NSData; | ||
888 | +@class PHLivePhoto; | ||
889 | +@class AVPlayerItem; | ||
890 | + | ||
891 | +SWIFT_CLASS("_TtC13HHPhotoPicker14ZLPhotoManager") | ||
892 | +@interface ZLPhotoManager : NSObject | ||
893 | +/// Save image to album. | ||
894 | ++ (void)saveImageToAlbumWithImage:(UIImage * _Nonnull)image completion:(void (^ _Nullable)(BOOL, PHAsset * _Nullable))completion; | ||
895 | +/// Save video to album. | ||
896 | ++ (void)saveVideoToAlbumWithUrl:(NSURL * _Nonnull)url completion:(void (^ _Nullable)(BOOL, PHAsset * _Nullable))completion; | ||
897 | +/// Fetch photos from result. | ||
898 | ++ (NSArray<ZLPhotoModel *> * _Nonnull)fetchPhotoIn:(PHFetchResult<PHAsset *> * _Nonnull)result ascending:(BOOL)ascending allowSelectImage:(BOOL)allowSelectImage allowSelectVideo:(BOOL)allowSelectVideo limitCount:(NSInteger)limitCount SWIFT_WARN_UNUSED_RESULT; | ||
899 | +/// Fetch all album list. | ||
900 | ++ (void)getPhotoAlbumListWithAscending:(BOOL)ascending allowSelectImage:(BOOL)allowSelectImage allowSelectVideo:(BOOL)allowSelectVideo completion:(SWIFT_NOESCAPE void (^ _Nonnull)(NSArray<ZLAlbumListModel *> * _Nonnull))completion; | ||
901 | +/// Fetch camera roll album. | ||
902 | ++ (void)getCameraRollAlbumWithAllowSelectImage:(BOOL)allowSelectImage allowSelectVideo:(BOOL)allowSelectVideo completion:(void (^ _Nonnull)(ZLAlbumListModel * _Nonnull))completion; | ||
903 | ++ (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; | ||
904 | ++ (PHImageRequestID)fetchOriginalImageFor:(PHAsset * _Nonnull)asset progress:(void (^ _Nullable)(CGFloat, NSError * _Nullable, BOOL * _Nonnull, NSDictionary * _Nullable))progress completion:(void (^ _Nonnull)(UIImage * _Nullable, BOOL))completion; | ||
905 | +/// Fetch asset data. | ||
906 | ++ (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; | ||
907 | ++ (PHImageRequestID)fetchLivePhotoFor:(PHAsset * _Nonnull)asset completion:(void (^ _Nonnull)(PHLivePhoto * _Nullable, NSDictionary * _Nullable, BOOL))completion SWIFT_WARN_UNUSED_RESULT; | ||
908 | ++ (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; | ||
909 | ++ (PHImageRequestID)fetchAVAssetForVideo:(PHAsset * _Nonnull)asset completion:(void (^ _Nonnull)(AVAsset * _Nullable, NSDictionary * _Nullable))completion SWIFT_WARN_UNUSED_RESULT; | ||
910 | +/// Fetch asset local file path. | ||
911 | ++ (void)fetchAssetFilePathWithAsset:(PHAsset * _Nonnull)asset completion:(void (^ _Nonnull)(NSString * _Nullable))completion; | ||
912 | +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; | ||
913 | +@end | ||
914 | + | ||
915 | + | ||
916 | +@interface ZLPhotoManager (SWIFT_EXTENSION(HHPhotoPicker)) | ||
917 | ++ (BOOL)hasPhotoLibratyAuthority SWIFT_WARN_UNUSED_RESULT; | ||
918 | ++ (BOOL)hasCameraAuthority SWIFT_WARN_UNUSED_RESULT; | ||
919 | ++ (BOOL)hasMicrophoneAuthority SWIFT_WARN_UNUSED_RESULT; | ||
920 | +@end | ||
921 | + | ||
922 | + | ||
923 | +SWIFT_CLASS("_TtC13HHPhotoPicker12ZLPhotoModel") | ||
924 | +@interface ZLPhotoModel : NSObject | ||
925 | +- (nonnull instancetype)init SWIFT_UNAVAILABLE; | ||
926 | ++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); | ||
927 | +@end | ||
928 | + | ||
929 | + | ||
930 | + | ||
931 | + | ||
932 | +SWIFT_CLASS("_TtC13HHPhotoPicker19ZLPhotoPreviewSheet") | ||
933 | +@interface ZLPhotoPreviewSheet : UIView | ||
934 | +/// Success callback | ||
935 | +/// block params | ||
936 | +/// <ul> | ||
937 | +/// <li> | ||
938 | +/// params1: images for asset. | ||
939 | +/// </li> | ||
940 | +/// <li> | ||
941 | +/// params2: selected assets | ||
942 | +/// </li> | ||
943 | +/// <li> | ||
944 | +/// params3: is full image | ||
945 | +/// </li> | ||
946 | +/// </ul> | ||
947 | +@property (nonatomic, copy) void (^ _Nullable selectImageBlock)(NSArray<UIImage *> * _Nonnull, NSArray<PHAsset *> * _Nonnull, BOOL); | ||
948 | +/// Callback for photos that failed to parse | ||
949 | +/// block params | ||
950 | +/// <ul> | ||
951 | +/// <li> | ||
952 | +/// params1: failed assets. | ||
953 | +/// </li> | ||
954 | +/// <li> | ||
955 | +/// params2: index for asset | ||
956 | +/// </li> | ||
957 | +/// </ul> | ||
958 | +@property (nonatomic, copy) void (^ _Nullable selectImageRequestErrorBlock)(NSArray<PHAsset *> * _Nonnull, NSArray<NSNumber *> * _Nonnull); | ||
959 | +@property (nonatomic, copy) void (^ _Nullable cancelBlock)(void); | ||
960 | +- (nonnull instancetype)initWithFrame:(CGRect)frame; | ||
961 | +/// \param selectedAssets preselected assets | ||
962 | +/// | ||
963 | +- (nonnull instancetype)initWithSelectedAssets:(NSArray<PHAsset *> * _Nullable)selectedAssets OBJC_DESIGNATED_INITIALIZER; | ||
964 | +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; | ||
965 | +- (void)layoutSubviews; | ||
966 | +- (void)showPreviewWithAnimate:(BOOL)animate sender:(UIViewController * _Nonnull)sender; | ||
967 | +- (void)showPhotoLibraryWithSender:(UIViewController * _Nonnull)sender; | ||
968 | +/// 传入已选择的assets,并预览 | ||
969 | +- (void)previewAssetsWithSender:(UIViewController * _Nonnull)sender assets:(NSArray<PHAsset *> * _Nonnull)assets index:(NSInteger)index isOriginal:(BOOL)isOriginal showBottomViewAndSelectBtn:(BOOL)showBottomViewAndSelectBtn; | ||
970 | +@end | ||
971 | + | ||
972 | + | ||
973 | +@interface ZLPhotoPreviewSheet (SWIFT_EXTENSION(HHPhotoPicker)) <UIGestureRecognizerDelegate> | ||
974 | +- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer * _Nonnull)gestureRecognizer SWIFT_WARN_UNUSED_RESULT; | ||
975 | +@end | ||
976 | + | ||
977 | +@class PHChange; | ||
978 | + | ||
979 | +@interface ZLPhotoPreviewSheet (SWIFT_EXTENSION(HHPhotoPicker)) <PHPhotoLibraryChangeObserver> | ||
980 | +- (void)photoLibraryDidChange:(PHChange * _Nonnull)changeInstance; | ||
981 | +@end | ||
982 | + | ||
983 | +@class UIImagePickerController; | ||
984 | + | ||
985 | +@interface ZLPhotoPreviewSheet (SWIFT_EXTENSION(HHPhotoPicker)) <UIImagePickerControllerDelegate, UINavigationControllerDelegate> | ||
986 | +- (void)imagePickerController:(UIImagePickerController * _Nonnull)picker didFinishPickingMediaWithInfo:(NSDictionary<UIImagePickerControllerInfoKey, id> * _Nonnull)info; | ||
987 | +@end | ||
988 | + | ||
989 | + | ||
990 | +@interface ZLPhotoPreviewSheet (SWIFT_EXTENSION(HHPhotoPicker)) <UICollectionViewDataSource, UICollectionViewDelegateFlowLayout> | ||
991 | +- (CGSize)collectionView:(UICollectionView * _Nonnull)collectionView layout:(UICollectionViewLayout * _Nonnull)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; | ||
992 | +- (NSInteger)collectionView:(UICollectionView * _Nonnull)collectionView numberOfItemsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; | ||
993 | +- (UICollectionViewCell * _Nonnull)collectionView:(UICollectionView * _Nonnull)collectionView cellForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; | ||
994 | +- (void)collectionView:(UICollectionView * _Nonnull)collectionView willDisplayCell:(UICollectionViewCell * _Nonnull)cell forItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath; | ||
995 | +- (void)collectionView:(UICollectionView * _Nonnull)collectionView didSelectItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath; | ||
996 | +@end | ||
997 | + | ||
998 | +@class UIBlurEffect; | ||
999 | + | ||
1000 | +/// Custom UI configuration (include colors, images, text, font) | ||
1001 | +SWIFT_CLASS("_TtC13HHPhotoPicker22ZLPhotoUIConfiguration") | ||
1002 | +@interface ZLPhotoUIConfiguration : NSObject | ||
1003 | ++ (ZLPhotoUIConfiguration * _Nonnull)default SWIFT_WARN_UNUSED_RESULT; | ||
1004 | ++ (void)resetConfiguration; | ||
1005 | +/// The blur effect of the navigation bar in the album list | ||
1006 | +@property (nonatomic, strong) UIBlurEffect * _Nullable navViewBlurEffectOfAlbumList; | ||
1007 | +/// The blur effect of the navigation bar in the preview interface | ||
1008 | +@property (nonatomic, strong) UIBlurEffect * _Nullable navViewBlurEffectOfPreview; | ||
1009 | +/// The blur effect of the bottom tool bar in the album list | ||
1010 | +@property (nonatomic, strong) UIBlurEffect * _Nullable bottomViewBlurEffectOfAlbumList; | ||
1011 | +/// The blur effect of the bottom tool bar in the preview interface | ||
1012 | +@property (nonatomic, strong) UIBlurEffect * _Nullable bottomViewBlurEffectOfPreview; | ||
1013 | +/// Developers can customize images, but the name of the custom image resource must be consistent with the image name in the replaced bundle. | ||
1014 | +/// <ul> | ||
1015 | +/// <li> | ||
1016 | +/// example: Developers need to replace the selected and unselected image resources, and the array that needs to be passed in is | ||
1017 | +/// [“zl_btn_selected”, “zl_btn_unselected”]. | ||
1018 | +/// </li> | ||
1019 | +/// </ul> | ||
1020 | +@property (nonatomic, copy) NSArray<NSString *> * _Nonnull customImageNames; | ||
1021 | +/// Developers can customize images, but the name of the custom image resource must be consistent with the image name in the replaced bundle. | ||
1022 | +/// <ul> | ||
1023 | +/// <li> | ||
1024 | +/// example: Developers need to replace the selected and unselected image resources, and the array that needs to be passed in is | ||
1025 | +/// [“zl_btn_selected”: selectedImage, “zl_btn_unselected”: unselectedImage]. | ||
1026 | +/// </li> | ||
1027 | +/// </ul> | ||
1028 | +@property (nonatomic, copy) NSDictionary<NSString *, UIImage *> * _Nonnull customImageForKey_objc; | ||
1029 | +/// Developers can customize languages (This property is only for objc). | ||
1030 | +/// warning: | ||
1031 | +/// Please pay attention to the placeholders contained in languages when changing, such as %ld, %@. | ||
1032 | +/// <ul> | ||
1033 | +/// <li> | ||
1034 | +/// example: If you needs to replace | ||
1035 | +/// key: @“loading”, value: @“loading, waiting please” language, | ||
1036 | +/// The dictionary that needs to be passed in is @[@“loading”: @“text to be replaced”]. | ||
1037 | +/// </li> | ||
1038 | +/// </ul> | ||
1039 | +@property (nonatomic, copy) NSDictionary<NSString *, NSString *> * _Nonnull customLanguageKeyValue_objc; | ||
1040 | +/// Font name. | ||
1041 | +@property (nonatomic, copy) NSString * _Nullable themeFontName; | ||
1042 | +/// Preview selection mode, translucent background color above. | ||
1043 | +/// 预览快速选择模式下,上方透明区域背景色 | ||
1044 | +@property (nonatomic, strong) UIColor * _Nonnull sheetTranslucentColor; | ||
1045 | +/// Preview selection mode, a background color for <code>Camera</code>, <code>Album</code>, <code>Cancel</code> buttons. | ||
1046 | +/// 预览快速选择模式下,按钮背景颜色 | ||
1047 | +@property (nonatomic, strong) UIColor * _Nonnull sheetBtnBgColor; | ||
1048 | +/// Preview selection mode, a text color for <code>Camera</code>, <code>Album</code>, <code>Cancel</code> buttons. | ||
1049 | +/// 预览快速选择模式下,按钮标题颜色 | ||
1050 | +@property (nonatomic, strong) UIColor * _Nonnull sheetBtnTitleColor; | ||
1051 | +/// Preview selection mode, cancel button title color when the selection amount is superior than 0. | ||
1052 | +/// 预览快速选择模式下,按钮标题高亮颜色 | ||
1053 | +@property (nonatomic, strong) UIColor * _Nonnull sheetBtnTitleTintColor; | ||
1054 | +/// A color for navigation bar. | ||
1055 | +/// 相册列表及小图界面导航条背景色 | ||
1056 | +@property (nonatomic, strong) UIColor * _Nonnull navBarColor; | ||
1057 | +/// A color for navigation bar in preview interface. | ||
1058 | +/// 预览大图界面的导航条背景色 | ||
1059 | +@property (nonatomic, strong) UIColor * _Nonnull navBarColorOfPreviewVC; | ||
1060 | +/// A color for Navigation bar text. | ||
1061 | +/// 相册列表及小图界面导航栏标题颜色 | ||
1062 | +@property (nonatomic, strong) UIColor * _Nonnull navTitleColor; | ||
1063 | +/// A color for Navigation bar text of preview vc. | ||
1064 | +/// 预览大图界面导航栏标题颜色 | ||
1065 | +@property (nonatomic, strong) UIColor * _Nonnull navTitleColorOfPreviewVC; | ||
1066 | +/// The background color of the title view when the frame style is embedAlbumList. | ||
1067 | +/// 下拉选择相册列表模式下,选择区域的背景色 | ||
1068 | +@property (nonatomic, strong) UIColor * _Nonnull navEmbedTitleViewBgColor; | ||
1069 | +/// A color for background in album list. | ||
1070 | +/// 相册列表背景色 | ||
1071 | +@property (nonatomic, strong) UIColor * _Nonnull albumListBgColor; | ||
1072 | +/// A color of the translucent area below the embed album list. | ||
1073 | +/// 嵌入式相册列表下方透明区域颜色 | ||
1074 | +@property (nonatomic, strong) UIColor * _Nonnull embedAlbumListTranslucentColor; | ||
1075 | +/// A color for album list title label. | ||
1076 | +/// 相册列表标题颜色 | ||
1077 | +@property (nonatomic, strong) UIColor * _Nonnull albumListTitleColor; | ||
1078 | +/// A color for album list count label. | ||
1079 | +/// 相册列表数量label的颜色 | ||
1080 | +@property (nonatomic, strong) UIColor * _Nonnull albumListCountColor; | ||
1081 | +/// A color for album list separator. | ||
1082 | +/// 相册列表分割线颜色 | ||
1083 | +@property (nonatomic, strong) UIColor * _Nonnull separatorColor; | ||
1084 | +/// A color for background in thumbnail interface. | ||
1085 | +/// 相册小图界面背景色 | ||
1086 | +@property (nonatomic, strong) UIColor * _Nonnull thumbnailBgColor; | ||
1087 | +/// A color for background in preview interface.. | ||
1088 | +/// 预览大图界面背景色 | ||
1089 | +@property (nonatomic, strong) UIColor * _Nonnull previewVCBgColor; | ||
1090 | +/// A color for background in bottom tool view. | ||
1091 | +/// 相册小图界面底部工具条背景色 | ||
1092 | +@property (nonatomic, strong) UIColor * _Nonnull bottomToolViewBgColor; | ||
1093 | +/// A color for background in bottom tool view in preview interface. | ||
1094 | +/// 预览大图界面底部工具条背景色 | ||
1095 | +@property (nonatomic, strong) UIColor * _Nonnull bottomToolViewBgColorOfPreviewVC; | ||
1096 | +/// The normal state title color of bottom tool view buttons. Without done button. | ||
1097 | +/// 相册小图界面底部按钮可交互状态下标题颜色,不包括 <code>完成</code> 按钮 | ||
1098 | +@property (nonatomic, strong) UIColor * _Nonnull bottomToolViewBtnNormalTitleColor; | ||
1099 | +/// The normal state title color of bottom tool view done button. | ||
1100 | +/// 相册小图界面底部 <code>完成</code> 按钮可交互状态下标题颜色 | ||
1101 | +@property (nonatomic, strong) UIColor * _Nonnull bottomToolViewDoneBtnNormalTitleColor; | ||
1102 | +/// The normal state title color of bottom tool view buttons in preview interface. Without done button. | ||
1103 | +/// 预览大图界面底部按钮可交互状态下标题颜色,不包括 <code>完成</code> 按钮 | ||
1104 | +@property (nonatomic, strong) UIColor * _Nonnull bottomToolViewBtnNormalTitleColorOfPreviewVC; | ||
1105 | +/// The normal state title color of bottom tool view done button. | ||
1106 | +/// 预览大图界面底部 <code>完成</code> 按钮可交互状态下标题颜色 | ||
1107 | +@property (nonatomic, strong) UIColor * _Nonnull bottomToolViewDoneBtnNormalTitleColorOfPreviewVC; | ||
1108 | +/// The disable state title color of bottom tool view buttons. Without done button. | ||
1109 | +/// 相册小图界面底部按钮不可交互状态下标题颜色,不包括 <code>完成</code> 按钮 | ||
1110 | +@property (nonatomic, strong) UIColor * _Nonnull bottomToolViewBtnDisableTitleColor; | ||
1111 | +/// The disable state title color of bottom tool view done button. | ||
1112 | +/// 相册小图界面底部 <code>完成</code> 按钮不可交互状态下标题颜色 | ||
1113 | +@property (nonatomic, strong) UIColor * _Nonnull bottomToolViewDoneBtnDisableTitleColor; | ||
1114 | +/// The disable state title color of bottom tool view buttons in preview interface. Without done button. | ||
1115 | +/// 预览大图界面底部按钮不可交互状态下标题颜色,不包括 <code>完成</code> 按钮 | ||
1116 | +@property (nonatomic, strong) UIColor * _Nonnull bottomToolViewBtnDisableTitleColorOfPreviewVC; | ||
1117 | +/// The disable state title color of bottom tool view done button in preview interface. | ||
1118 | +/// 预览大图界面底部 <code>完成</code> 按钮不可交互状态下标题颜色 | ||
1119 | +@property (nonatomic, strong) UIColor * _Nonnull bottomToolViewDoneBtnDisableTitleColorOfPreviewVC; | ||
1120 | +/// The normal state background color of bottom tool view buttons. | ||
1121 | +/// 相册小图界面底部按钮可交互状态下背景色 | ||
1122 | +@property (nonatomic, strong) UIColor * _Nonnull bottomToolViewBtnNormalBgColor; | ||
1123 | +/// The normal state background color of bottom tool view buttons in preview interface. | ||
1124 | +/// 预览大图界面底部按钮可交互状态下背景色 | ||
1125 | +@property (nonatomic, strong) UIColor * _Nonnull bottomToolViewBtnNormalBgColorOfPreviewVC; | ||
1126 | +/// The disable state background color of bottom tool view buttons. | ||
1127 | +/// 相册小图界面底部按钮不可交互状态下背景色 | ||
1128 | +@property (nonatomic, strong) UIColor * _Nonnull bottomToolViewBtnDisableBgColor; | ||
1129 | +/// The disable state background color of bottom tool view buttons in preview interface. | ||
1130 | +/// 预览大图界面底部按钮不可交互状态下背景色 | ||
1131 | +@property (nonatomic, strong) UIColor * _Nonnull bottomToolViewBtnDisableBgColorOfPreviewVC; | ||
1132 | +/// With iOS14 limited authority, a color for select more photos at the bottom of the thumbnail interface. | ||
1133 | +/// iOS14 limited权限下,下方提示选择更多图片信息文字的颜色 | ||
1134 | +@property (nonatomic, strong) UIColor * _Nonnull selectMorePhotoWhenAuthIsLismitedTitleColor; | ||
1135 | +/// The record progress color of custom camera. | ||
1136 | +/// 自定义相机录制视频时进度条颜色 | ||
1137 | +@property (nonatomic, strong) UIColor * _Nonnull cameraRecodeProgressColor; | ||
1138 | +/// Mask layer color of selected cell. | ||
1139 | +/// 已选择照片上方遮罩阴影颜色 | ||
1140 | +@property (nonatomic, strong) UIColor * _Nonnull selectedMaskColor; | ||
1141 | +/// Border color of selected cell. | ||
1142 | +/// 已选择照片border颜色 | ||
1143 | +@property (nonatomic, strong) UIColor * _Nonnull selectedBorderColor; | ||
1144 | +/// Mask layer color of the cell that cannot be selected. | ||
1145 | +/// 不可选的照片上方遮罩阴影颜色 | ||
1146 | +@property (nonatomic, strong) UIColor * _Nonnull invalidMaskColor; | ||
1147 | +/// The text color of selected cell index label. | ||
1148 | +/// 已选照片右上角序号label背景色 | ||
1149 | +@property (nonatomic, strong) UIColor * _Nonnull indexLabelTextColor; | ||
1150 | +/// The background color of selected cell index label. | ||
1151 | +/// 已选照片右上角序号label背景色 | ||
1152 | +@property (nonatomic, strong) UIColor * _Nonnull indexLabelBgColor; | ||
1153 | +/// The background color of camera cell inside album. | ||
1154 | +/// 相册小图界面拍照按钮背景色 | ||
1155 | +@property (nonatomic, strong) UIColor * _Nonnull cameraCellBgColor; | ||
1156 | +/// The normal color of adjust slider. | ||
1157 | +/// 编辑图片,调整饱和度、对比度、亮度时,右侧slider背景色 | ||
1158 | +@property (nonatomic, strong) UIColor * _Nonnull adjustSliderNormalColor; | ||
1159 | +/// The tint color of adjust slider. | ||
1160 | +/// 编辑图片,调整饱和度、对比度、亮度时,右侧slider背景高亮色 | ||
1161 | +@property (nonatomic, strong) UIColor * _Nonnull adjustSliderTintColor; | ||
1162 | +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; | ||
1163 | +@end | ||
1164 | + | ||
1165 | + | ||
1166 | + | ||
1167 | +SWIFT_CLASS("_TtC13HHPhotoPicker13ZLProgressHUD") | ||
1168 | +@interface ZLProgressHUD : UIView | ||
1169 | +- (nonnull instancetype)initWithStyle:(enum HUDStyle)style OBJC_DESIGNATED_INITIALIZER; | ||
1170 | +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE; | ||
1171 | +- (void)showWithTimeout:(NSTimeInterval)timeout; | ||
1172 | +- (void)hide; | ||
1173 | +- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE; | ||
1174 | +@end | ||
1175 | + | ||
1176 | +typedef SWIFT_ENUM(NSInteger, HUDStyle, closed) { | ||
1177 | + HUDStyleLight = 0, | ||
1178 | + HUDStyleLightBlur = 1, | ||
1179 | + HUDStyleDark = 2, | ||
1180 | + HUDStyleDarkBlur = 3, | ||
1181 | +}; | ||
1182 | + | ||
1183 | + | ||
1184 | +SWIFT_CLASS("_TtC13HHPhotoPicker18ZLTextStickerState") | ||
1185 | +@interface ZLTextStickerState : NSObject | ||
1186 | +- (nonnull instancetype)init SWIFT_UNAVAILABLE; | ||
1187 | ++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); | ||
1188 | +@end | ||
1189 | + | ||
1190 | +typedef SWIFT_ENUM(NSInteger, ZLURLType, closed) { | ||
1191 | + ZLURLTypeImage = 0, | ||
1192 | + ZLURLTypeVideo = 1, | ||
1193 | +}; | ||
1194 | + | ||
1195 | + | ||
1196 | +SWIFT_CLASS("_TtC13HHPhotoPicker14ZLVideoManager") | ||
1197 | +@interface ZLVideoManager : NSObject | ||
1198 | +/// 没有针对不同分辨率视频做处理,仅用于处理相机拍照的视频 | ||
1199 | ++ (void)mergeVideosWithFileUrls:(NSArray<NSURL *> * _Nonnull)fileUrls completion:(void (^ _Nonnull)(NSURL * _Nullable, NSError * _Nullable))completion; | ||
1200 | +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; | ||
1201 | +@end | ||
1202 | + | ||
1203 | + | ||
1204 | +@interface ZLVideoManager (SWIFT_EXTENSION(HHPhotoPicker)) | ||
1205 | +@end | ||
1206 | + | ||
1207 | +typedef SWIFT_ENUM(NSInteger, ExportType, closed) { | ||
1208 | + ExportTypeMov = 0, | ||
1209 | + ExportTypeMp4 = 1, | ||
1210 | +}; | ||
1211 | + | ||
1212 | + | ||
1213 | +@interface ZLVideoManager (SWIFT_EXTENSION(HHPhotoPicker)) | ||
1214 | ++ (void)exportVideoFor:(PHAsset * _Nonnull)asset exportType:(enum ExportType)exportType presetName:(NSString * _Nonnull)presetName complete:(void (^ _Nonnull)(NSURL * _Nullable, NSError * _Nullable))complete; | ||
1215 | ++ (void)exportVideoFor:(AVAsset * _Nonnull)asset range:(CMTimeRange)range exportType:(enum ExportType)exportType presetName:(NSString * _Nonnull)presetName complete:(void (^ _Nonnull)(NSURL * _Nullable, NSError * _Nullable))complete; | ||
1216 | +@end | ||
1217 | + | ||
1218 | +#if __has_attribute(external_source_symbol) | ||
1219 | +# pragma clang attribute pop | ||
1220 | +#endif | ||
1221 | +#pragma clang diagnostic pop | ||
1222 | +#endif |
1 | +#ifdef __OBJC__ | ||
2 | +#import <UIKit/UIKit.h> | ||
3 | +#else | ||
4 | +#ifndef FOUNDATION_EXPORT | ||
5 | +#if defined(__cplusplus) | ||
6 | +#define FOUNDATION_EXPORT extern "C" | ||
7 | +#else | ||
8 | +#define FOUNDATION_EXPORT extern | ||
9 | +#endif | ||
10 | +#endif | ||
11 | +#endif | ||
12 | + | ||
13 | +//#import "ZLPhotoBrowser.h" | ||
14 | + | ||
15 | +FOUNDATION_EXPORT double HHPhotoPickerVersionNumber; | ||
16 | +FOUNDATION_EXPORT const unsigned char HHPhotoPickerVersionString[]; | ||
17 | + |
HHPhotoPicker.framework/Info.plist
0 → 100644
No preview for this file type
HHPhotoPicker.framework/Modules/HHPhotoPicker.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo
0 → 100644
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
1 | +"previewCamera" = "Kamera"; | ||
2 | +"previewCameraRecord" = "Aufzeichnung"; | ||
3 | +"previewAlbum" = "Album"; | ||
4 | +"cancel" = "Stornieren"; | ||
5 | + | ||
6 | +"originalPhoto" = "Vollbild"; | ||
7 | +"done" = "Erledigt"; | ||
8 | +"ok" = "in Ordnung"; | ||
9 | +"editFinish" = "Fertig"; | ||
10 | + | ||
11 | +"back" = "Zurück"; | ||
12 | +"edit" = "Bearbeiten"; | ||
13 | +"revert" = "Rückgängig"; | ||
14 | +"brightness" = "Helligkeit"; | ||
15 | +"contrast" = "Kontrast"; | ||
16 | +"saturation" = "Sättigung"; | ||
17 | + | ||
18 | +"photo" = "Fotos"; | ||
19 | +"preview" = "Vorschau"; | ||
20 | + | ||
21 | +"noPhotoTips" = "Keine Fotos"; | ||
22 | +"notAllowMixSelect" = "Video kann nicht ausgewählt werden"; | ||
23 | + | ||
24 | +"loading" = "Laden, bitte warten"; | ||
25 | +"hudLoading" = "warten..."; | ||
26 | + | ||
27 | +"exceededMaxSelectCount" = "Maximale Auswahlanzahl: %ld"; | ||
28 | +"longerThanMaxVideoDuration" = "Video mit einer Dauer von mehr als %lds kann nicht ausgewählt werden"; | ||
29 | +"shorterThanMaxVideoDuration" = "Video mit einer Dauer von weniger als %lds kann nicht ausgewählt werden"; | ||
30 | +"exceededMaxVideoSelectCount" = "Video max Auswahlanzahl: %ld"; | ||
31 | +"lessThanMinVideoSelectCount" = "Video min Auswahlanzahl: %ld"; | ||
32 | + | ||
33 | +"noCameraAuthority" = "Bitte erlauben Sie %@, auf die Kamera Ihres Geräts unter \"Einstellungen\" > \"Datenschutz\" > \"Kamera\" zuzugreifen"; | ||
34 | +"noPhotoLibratyAuthority" = "Bitte erlauben Sie %@, auf Ihr Album unter \"Einstellungen\" > \"Datenschutz\" > \"Fotos\" zuzugreifen"; | ||
35 | +"noMicrophoneAuthority" = "Audio kann nicht aufgenommen werden. Gehen Sie zu \"Einstellungen\" > \"%@\" und aktivieren Sie den Mikrofonzugriff."; | ||
36 | +"cameraUnavailable" = "Kamera ist nicht verfügbar"; | ||
37 | +"keepRecording" = "Aufnahme behalten"; | ||
38 | +"gotoSettings" = "Zu Einstellungen wechseln"; | ||
39 | + | ||
40 | +"iCloudVideoLoadFaild" = "Synchronisierung von iCloud nicht möglich"; | ||
41 | +"imageLoadFailed" = "Laden fehlgeschlagen"; | ||
42 | + | ||
43 | +"save" = "Sparen"; | ||
44 | +"saveImageError" = "Das Bild konnte nicht gespeichert werden"; | ||
45 | +"saveVideoError" = "Das Video konnte nicht gespeichert werden"; | ||
46 | +"timeout" = "Zeitüberschreitung der Anforderung"; | ||
47 | + | ||
48 | +"customCameraTips" = "Tippen, um Fotos aufzunehmen und halten, um ein Video aufzunehmen"; | ||
49 | +"customCameraTakePhotoTips" = "Tippen, um ein Foto aufzunehmen"; | ||
50 | +"customCameraRecordVideoTips" = "Halten Sie gedrückt, um ein Video aufzunehmen"; | ||
51 | +"minRecordTimeTips" = "Nehmen Sie mindestens %lds auf"; | ||
52 | + | ||
53 | +"cameraRoll" = "Letzte"; | ||
54 | +"panoramas" = "Panoramen"; | ||
55 | +"videos" = "Videos"; | ||
56 | +"favorites" = "Favoriten"; | ||
57 | +"timelapses" = "Zeitraffer"; | ||
58 | +"recentlyAdded" = "Kürzlich hinzugefügt"; | ||
59 | +"bursts" = "Serien"; | ||
60 | +"slomoVideos" = "Slo-Mo"; | ||
61 | +"selfPortraits" = "Selfies"; | ||
62 | +"screenshots" = "Bildschirmfotos"; | ||
63 | +"depthEffect" = "Porträt"; | ||
64 | +"livePhotos" = "Live Photos"; | ||
65 | +"animated" = "Animiert"; | ||
66 | +"myPhotoStream" = "Mein Fotostream"; | ||
67 | + | ||
68 | +"noTitleAlbumListPlaceholder" = "Alle Fotos"; | ||
69 | +"unableToAccessAllPhotos" = "Zugriff auf alle Fotos im Album nicht möglich.\nZugriff auf \"Alle Fotos\" unter \"Fotos\" zulassen."; | ||
70 | +"textStickerRemoveTips" = "Zum Entfernen hierher ziehen"; |
1 | +"previewCamera" = "Camera"; | ||
2 | +"previewCameraRecord" = "Record"; | ||
3 | +"previewAlbum" = "Album"; | ||
4 | +"cancel" = "Cancel"; | ||
5 | + | ||
6 | +"originalPhoto" = "Full Image"; | ||
7 | +"done" = "Done"; | ||
8 | +"ok" = "OK"; | ||
9 | +"editFinish" = "Done"; | ||
10 | + | ||
11 | +"back" = "Back"; | ||
12 | +"edit" = "Edit"; | ||
13 | +"revert" = "Undo"; | ||
14 | +"brightness" = "Brightness"; | ||
15 | +"contrast" = "Contrast"; | ||
16 | +"saturation" = "Saturation"; | ||
17 | + | ||
18 | +"photo" = "Photos"; | ||
19 | +"preview" = "Preview"; | ||
20 | + | ||
21 | +"noPhotoTips" = "No Photos"; | ||
22 | +"notAllowMixSelect" = "Unable to select video"; | ||
23 | + | ||
24 | +"loading" = "loading, waiting please"; | ||
25 | +"hudLoading" = "waiting..."; | ||
26 | + | ||
27 | +"exceededMaxSelectCount" = "Max count for selection: %ld"; | ||
28 | +"longerThanMaxVideoDuration" = "Unable to select video with a duration longer than %lds"; | ||
29 | +"shorterThanMaxVideoDuration" = "Unable to select video with a duration shorter than %lds"; | ||
30 | +"exceededMaxVideoSelectCount" = "Max count for video selection: %ld"; | ||
31 | +"lessThanMinVideoSelectCount" = "Min count for video selection: %ld"; | ||
32 | + | ||
33 | +"noCameraAuthority" = "Please allow %@ to access your device's camera in \"Settings\" > \"Privacy\" > \"Camera\""; | ||
34 | +"noPhotoLibratyAuthority" = "Please allow %@ to access your album in \"Settings\" > \"Privacy\" > \"Photos\""; | ||
35 | +"noMicrophoneAuthority" = "Unable to record audio. Go to \"Settings\" > \"%@\" and enable microphone access."; | ||
36 | +"cameraUnavailable" = "Camera is unavailable"; | ||
37 | +"keepRecording" = "Keep Recording"; | ||
38 | +"gotoSettings" = "Go to Settings"; | ||
39 | + | ||
40 | +"iCloudVideoLoadFaild" = "Unable to sync from iCloud"; | ||
41 | +"imageLoadFailed" = "loading failed"; | ||
42 | + | ||
43 | +"save" = "Save"; | ||
44 | +"saveImageError" = "Failed to save the image"; | ||
45 | +"saveVideoError" = "Failed to save the video"; | ||
46 | +"timeout" = "Request timed out"; | ||
47 | + | ||
48 | +"customCameraTips" = "Tap to take photo and hold to record video"; | ||
49 | +"customCameraTakePhotoTips" = "Tap to take photo"; | ||
50 | +"customCameraRecordVideoTips" = "Hold to record video"; | ||
51 | +"minRecordTimeTips" = "Record at least %lds"; | ||
52 | + | ||
53 | +"cameraRoll" = "Recents"; | ||
54 | +"panoramas" = "Panoramas"; | ||
55 | +"videos" = "Videos"; | ||
56 | +"favorites" = "Favorites"; | ||
57 | +"timelapses" = "Time-Lapse"; | ||
58 | +"recentlyAdded" = "Recently Added"; | ||
59 | +"bursts" = "Bursts"; | ||
60 | +"slomoVideos" = "Slo-mo"; | ||
61 | +"selfPortraits" = "Selfies"; | ||
62 | +"screenshots" = "Screenshots"; | ||
63 | +"depthEffect" = "Portrait"; | ||
64 | +"livePhotos" = "Live Photos"; | ||
65 | +"animated" = "Animated"; | ||
66 | +"myPhotoStream" = "My Photo Stream"; | ||
67 | + | ||
68 | +"noTitleAlbumListPlaceholder" = "All Photos"; | ||
69 | +"unableToAccessAllPhotos" = "Unable to access all photos in the album.\nAllow access to \"All Photos\" in \"Photos\"."; | ||
70 | +"textStickerRemoveTips" = "Drag here to remove"; |
1 | +"previewCamera" = "Cámara"; | ||
2 | +"previewCameraRecord" = "Grabar"; | ||
3 | +"previewAlbum" = "Álbum"; | ||
4 | +"cancel" = "Cancelar"; | ||
5 | + | ||
6 | +"originalPhoto" = "Imagen completa"; | ||
7 | +"done" = "Hecho"; | ||
8 | +"ok" = "OK"; | ||
9 | +"editFinish" = "Hecho"; | ||
10 | + | ||
11 | +"back" = "Volver"; | ||
12 | +"edit" = "Editar"; | ||
13 | +"revert" = "Deshacer"; | ||
14 | +"brightness" = "Brillo"; | ||
15 | +"contrast" = "Contraste"; | ||
16 | +"saturation" = "Saturación"; | ||
17 | + | ||
18 | +"photo" = "Fotos"; | ||
19 | +"preview" = "Vista previa"; | ||
20 | + | ||
21 | +"noPhotoTips" = "No hay fotos"; | ||
22 | +"notAllowMixSelect" = "No se puede seleccionar el vídeo"; | ||
23 | + | ||
24 | +"loading" = "cargando, por favor espera"; | ||
25 | +"hudLoading" = "cargando..."; | ||
26 | + | ||
27 | +"exceededMaxSelectCount" = "Número máximo para la selección: %ld"; | ||
28 | +"longerThanMaxVideoDuration" = "No se puede seleccionar un vídeo con una duración superior a %lds"; | ||
29 | +"shorterThanMaxVideoDuration" = "No se puede seleccionar un vídeo con una duración inferior a %lds"; | ||
30 | +"exceededMaxVideoSelectCount" = "Número máximo para la selección de vídeos: %ld"; | ||
31 | +"lessThanMinVideoSelectCount" = "Número mínimo para la selección de vídeos: %ld"; | ||
32 | + | ||
33 | +"noCameraAuthority" = "Permite que %@ acceda a la cámara de tu dispositivo en \"Ajustes\" > \"Privacidad\" > \"Cámara\""; | ||
34 | +"noPhotoLibratyAuthority" = "Permita que %@ acceda a su álbum en \"Configuración\" > \"Privacidad\" > \"Fotos\""; | ||
35 | +"noMicrophoneAuthority" = "No se puede grabar audio. Ve a \"Ajustes\" > \"%@\" y activa el acceso al micrófono."; | ||
36 | +"cameraUnavailable" = "La cámara no está disponible"; | ||
37 | +"keepRecording" = "Continuar Grabando"; | ||
38 | +"gotoSettings" = "Ir a Ajustes"; | ||
39 | + | ||
40 | +"iCloudVideoLoadFaild" = "No se puede sincronizar desde iCloud"; | ||
41 | +"imageLoadFailed" = "carga fallida"; | ||
42 | + | ||
43 | +"save" = "Guardar"; | ||
44 | +"saveImageError" = "No se ha podido guardar la imagen"; | ||
45 | +"saveVideoError" = "No se ha podido guardar el vídeo"; | ||
46 | +"timeout" = "La solicitud se ha vencido"; | ||
47 | + | ||
48 | +"customCameraTips" = "Toca para tomar una foto y mantén pulsado para grabar un vídeo"; | ||
49 | +"customCameraTakePhotoTips" = "Toca para tomar una foto"; | ||
50 | +"customCameraRecordVideoTips" = "Mantén pulsado para grabar vídeo"; | ||
51 | +"minRecordTimeTips" = "Grabar al menos %lds"; | ||
52 | + | ||
53 | +"cameraRoll" = "Recientes"; | ||
54 | +"panoramas" = "Panoramas"; | ||
55 | +"videos" = "Vídeos"; | ||
56 | +"favorites" = "Favoritos"; | ||
57 | +"timelapses" = "Lapso de Tiempo"; | ||
58 | +"recentlyAdded" = "Añadido recientemente"; | ||
59 | +"bursts" = "Ráfagas"; | ||
60 | +"slomoVideos" = "Cámara lenta"; | ||
61 | +"selfPortraits" = "Selfies"; | ||
62 | +"screenshots" = "Capturas de pantalla"; | ||
63 | +"depthEffect" = "Retrato"; | ||
64 | +"livePhotos" = "Fotos en vivo"; | ||
65 | +"animated" = "Animado"; | ||
66 | +"myPhotoStream" = "Mi flujo de fotos"; | ||
67 | + | ||
68 | +"noTitleAlbumListPlaceholder" = "Todas las fotos"; | ||
69 | +"unableToAccessAllPhotos" = "No se puede acceder a todas las fotos del álbum.\nPermite el acceso a \"Todas las fotos\" en \"Fotos\"."; | ||
70 | +"textStickerRemoveTips" = "Arrastra aquí para eliminar"; |
1 | +"previewCamera" = "Caméra"; | ||
2 | +"previewCameraRecord" = "Record"; | ||
3 | +"previewAlbum" = "Album"; | ||
4 | +"cancel" = "Annuler"; | ||
5 | + | ||
6 | +"originalPhoto" = "image complète"; | ||
7 | +"done" = "Terminé"; | ||
8 | +"ok" = "D'accord"; | ||
9 | +"editFinish" = "Terminé"; | ||
10 | + | ||
11 | +"back" = "Retour"; | ||
12 | +"edit" = "Modifier"; | ||
13 | +"revert" = "Annuler"; | ||
14 | +"brightness" = "Luminosité"; | ||
15 | +"contrast" = "Contraste"; | ||
16 | +"saturation" = "Saturation"; | ||
17 | + | ||
18 | +"photo" = "Photos"; | ||
19 | +"preview" = "Aperçu"; | ||
20 | + | ||
21 | +"noPhotoTips" = "Pas de photos"; | ||
22 | +"notAllowMixSelect" = "Impossible de sélectionner la vidéo"; | ||
23 | + | ||
24 | +"loading" = "chargement, attente s'il vous plaît"; | ||
25 | +"hudLoading" = "attendre..."; | ||
26 | + | ||
27 | +"exceededMaxSelectCount" = "Nombre maximal de sélections: %ld"; | ||
28 | +"longerThanMaxVideoDuration" = "Impossible de sélectionner une vidéo d'une durée supérieure à %lds"; | ||
29 | +"shorterThanMaxVideoDuration" = "Impossible de sélectionner une vidéo d'une durée inférieure à %lds"; | ||
30 | +"exceededMaxVideoSelectCount" = "Nombre maximal de sélections vidéo: %ld"; | ||
31 | +"lessThanMinVideoSelectCount" = "Nombre minimal de sélection de vidéo: %ld"; | ||
32 | + | ||
33 | +"noCameraAuthority" = "Veuillez autoriser %@ à accéder à la caméra de votre appareil dans \"Paramètres\" > \"Confidentialité\" > \"Caméra\""; | ||
34 | +"noPhotoLibratyAuthority" = "Veuillez autoriser %@ à accéder à votre album dans \"Paramètres\" > \"Confidentialité\" > \"Photos\""; | ||
35 | +"noMicrophoneAuthority" = "Impossible d'enregistrer le son. Rendez-vous dans « Paramètres >> > << %@ » et activez l'accès au microphone."; | ||
36 | +"cameraUnavailable" = "La caméra n'est pas disponible"; | ||
37 | +"keepRecording" = "Continuer à enregistrer"; | ||
38 | +"gotoSettings" = "Accéder à Paramètres"; | ||
39 | + | ||
40 | +"iCloudVideoLoadFaild" = "Impossible de synchroniser depuis iCloud"; | ||
41 | +"imageLoadFailed" = "chargement échoué"; | ||
42 | + | ||
43 | +"save" = "Enregistrer"; | ||
44 | +"saveImageError" = "Échec de l'enregistrement de l'image"; | ||
45 | +"saveVideoError" = "Échec de l'enregistrement de la vidéo"; | ||
46 | +"timeout" = "La demande a expiré"; | ||
47 | + | ||
48 | +"customCameraTips" = "Maintenez la pression sur pour enregistrer"; | ||
49 | +"customCameraTakePhotoTips" = "Appuyez pour prendre une photo"; | ||
50 | +"customCameraRecordVideoTips" = "Maintenez enfoncé pour enregistrer une vidéo"; | ||
51 | +"minRecordTimeTips" = "Enregistrez au moins %lds"; | ||
52 | + | ||
53 | +"cameraRoll" = "Récents"; | ||
54 | +"panoramas" = "Panoramas"; | ||
55 | +"videos" = "Vidéos"; | ||
56 | +"favorites" = "Favorites"; | ||
57 | +"timelapses" = "Accéléré"; | ||
58 | +"recentlyAdded" = "Récemment ajouté"; | ||
59 | +"bursts" = "Rafales"; | ||
60 | +"slomoVideos" = "Ralentis"; | ||
61 | +"selfPortraits" = "Selfies"; | ||
62 | +"screenshots" = "Captures d'écran"; | ||
63 | +"depthEffect" = "Portrait"; | ||
64 | +"livePhotos" = "Live Photos"; | ||
65 | +"animated" = "Animations"; | ||
66 | +"myPhotoStream" = "Mon flux de photos"; | ||
67 | + | ||
68 | +"noTitleAlbumListPlaceholder" = "Toutes les photos"; | ||
69 | +"unableToAccessAllPhotos" = "Impossible d'accéder à toutes les photos de l'album.\nAutorisez l'accès à « Toutes les photos » dans « Photos »."; | ||
70 | +"textStickerRemoveTips" = "Faites glisser ici pour supprimer"; |
1 | +"previewCamera" = "Kamera"; | ||
2 | +"previewCameraRecord" = "Merekam"; | ||
3 | +"previewAlbum" = "Album"; | ||
4 | +"cancel" = "Membatalkan"; | ||
5 | + | ||
6 | +"originalPhoto" = "Gambar Penuh"; | ||
7 | +"done" = "Selesai"; | ||
8 | +"ok" = "Oke"; | ||
9 | +"editFinish" = "Selesai"; | ||
10 | + | ||
11 | +"back" = "Kembali"; | ||
12 | +"edit" = "Edit"; | ||
13 | +"revert" = "Batalkan"; | ||
14 | +"brightness" = "Kecerahan"; | ||
15 | +"contrast" = "Kontras"; | ||
16 | +"saturation" = "Saturasi"; | ||
17 | + | ||
18 | +"photo" = "Foto"; | ||
19 | +"preview" = "Pratinjau"; | ||
20 | + | ||
21 | +"noPhotoTips" = "Tidak ada fotos"; | ||
22 | +"notAllowMixSelect" = "Tidak dapat memilih video"; | ||
23 | + | ||
24 | +"loading" = "sedang memuat, tolong tunggu"; | ||
25 | +"hudLoading" = "menunggu..."; | ||
26 | + | ||
27 | +"exceededMaxSelectCount" = "Jumlah maksimum untuk seleksi: %ld"; | ||
28 | +"longerThanMaxVideoDuration" = "Tidak dapat memilih video dengan durasi lebih dari %ld detik"; | ||
29 | +"shorterThanMaxVideoDuration" = "Tidak dapat memilih video dengan durasi lebih pendek dari %ld detik"; | ||
30 | +"exceededMaxVideoSelectCount" = "Jumlah maksimum untuk pemilihan video: %ld"; | ||
31 | +"lessThanMinVideoSelectCount" = "Jumlah minimum untuk pemilihan video: %ld"; | ||
32 | + | ||
33 | +"noCameraAuthority" = "Izinkan akses kamera di \"Pengaturan\" > \"%@\" iPhone Anda."; | ||
34 | +"noPhotoLibratyAuthority" = "Izinkan %@ mengakses album Anda di \"Setelan\" > \"Privasi\" > \"Foto\""; | ||
35 | +"noMicrophoneAuthority" = "Tidak dapat merekam audio. Buka \"Setelan\" > \"%@\" dan aktifkan akses mikrofon."; | ||
36 | +"cameraUnavailable" = "Kamera tidak tersedia"; | ||
37 | +"keepRecording" = "Terus Merekam"; | ||
38 | +"gotoSettings" = "Pergi ke pengaturan"; | ||
39 | + | ||
40 | +"iCloudVideoLoadFaild" = "Tidak dapat menyinkronkan dari iCloud"; | ||
41 | +"imageLoadFailed" = "Gagal Memuat"; | ||
42 | + | ||
43 | +"save" = "Menghemat"; | ||
44 | +"saveImageError" = "Gagal menyimpan gambar"; | ||
45 | +"saveVideoError" = "Gagal menyimpan video"; | ||
46 | +"timeout" = "Waktu permintaan habis"; | ||
47 | + | ||
48 | +"customCameraTips" = "Ketuk untuk mengambil video dan tahan untuk merekam"; | ||
49 | +"customCameraTakePhotoTips" = "Ketuk untuk mengambil foto"; | ||
50 | +"customCameraRecordVideoTips" = "Tahan untuk merekam video"; | ||
51 | +"minRecordTimeTips" = "Merekam setidaknya %ld detik"; | ||
52 | + | ||
53 | +"cameraRoll" = "Terbaru"; | ||
54 | +"panoramas" = "Panorama"; | ||
55 | +"videos" = "Video"; | ||
56 | +"favorites" = "Favorit"; | ||
57 | +"timelapses" = "Selang Waktu"; | ||
58 | +"recentlyAdded" = "Terkini"; | ||
59 | +"bursts" = "Foto Beruntun"; | ||
60 | +"slomoVideos" = "Slo-mo"; | ||
61 | +"selfPortraits" = "Selfie"; | ||
62 | +"screenshots" = "Jepretan Layer"; | ||
63 | +"depthEffect" = "Potret"; | ||
64 | +"livePhotos" = "Live Photos"; | ||
65 | +"animated" = "Animasi"; | ||
66 | +"myPhotoStream" = "Aliran Foto Saya"; | ||
67 | + | ||
68 | +"noTitleAlbumListPlaceholder" = "Semua Foto"; | ||
69 | +"unableToAccessAllPhotos" = "Tidak dapat mengakses semua foto dalam album.\nIzinkan akses ke \"Semua Foto\" di \"Foto\"."; | ||
70 | +"textStickerRemoveTips" = "Seret ke sini untuk menghapus"; |
1 | +"previewCamera" = "Fotocamera"; | ||
2 | +"previewCameraRecord" = "Disco"; | ||
3 | +"previewAlbum" = "Immagini"; | ||
4 | +"cancel" = "Annulla"; | ||
5 | + | ||
6 | +"originalPhoto" = "Immagine completa"; | ||
7 | +"done" = "Fine"; | ||
8 | +"ok" = "OK"; | ||
9 | +"editFinish" = "Fine"; | ||
10 | + | ||
11 | +"back" = "Indietro"; | ||
12 | +"edit" = "Modifica"; | ||
13 | +"revert" = "Annulla"; | ||
14 | +"brightness" = "Luminosità"; | ||
15 | +"contrast" = "Contrasto"; | ||
16 | +"saturation" = "Saturazione"; | ||
17 | + | ||
18 | +"photo" = "Fotografie"; | ||
19 | +"preview" = "Anteprima"; | ||
20 | + | ||
21 | +"noPhotoTips" = "Niente fotos"; | ||
22 | +"notAllowMixSelect" = "Impossibile selezionare il video"; | ||
23 | + | ||
24 | +"loading" = "Caricamento, in attesa per favore"; | ||
25 | +"hudLoading" = "in attesa..."; | ||
26 | + | ||
27 | +"exceededMaxSelectCount" = "Conteggio massimo per la selezione: %ld"; | ||
28 | +"longerThanMaxVideoDuration" = "Impossibile selezionare video con una durata superiore a %lds"; | ||
29 | +"shorterThanMaxVideoDuration" = "Impossibile selezionare video con una durata inferiore a %lds"; | ||
30 | +"exceededMaxVideoSelectCount" = "Conteggio massimo per la selezione dei video: %ld"; | ||
31 | +"lessThanMinVideoSelectCount" = "Conteggio minimo per la selezione del video: %ld"; | ||
32 | + | ||
33 | +"noCameraAuthority" = "Consenti a %@ di accedere alla fotocamera del tuo dispositivo in \"Impostazioni\" > \"Privacy\" > \"Fotocamera\""; | ||
34 | +"noPhotoLibratyAuthority" = "Consenti a %@ di accedere al tuo album in \"Impostazioni\" > \"Privacy\" > \"Foto\""; | ||
35 | +"noMicrophoneAuthority" = "Impossibile registrare I'audio. Vai a \"Impostazioni\" > \"%@\" e attiva I'accesso al microfono"; | ||
36 | +"cameraUnavailable" = "La fotocamera non è disponibile"; | ||
37 | +"keepRecording" = "Continua a registrare"; | ||
38 | +"gotoSettings" = "Vai a lmpostazioni"; | ||
39 | + | ||
40 | +"iCloudVideoLoadFaild" = "Impossibile sincronizzare da iCloud"; | ||
41 | +"imageLoadFailed" = "Caricamento fallito"; | ||
42 | + | ||
43 | +"save" = "Salva"; | ||
44 | +"saveImageError" = "Impossibile salvare l'immagine"; | ||
45 | +"saveVideoError" = "Impossibile salvare il video"; | ||
46 | +"timeout" = "Tempo scaduto per la richiesta"; | ||
47 | + | ||
48 | +"customCameraTips" = "Toccare per scattare e tiene premuto per registrare"; | ||
49 | +"customCameraTakePhotoTips" = "Tocca per scattare una foto"; | ||
50 | +"customCameraRecordVideoTips" = "Tieni premuto per registrare il video"; | ||
51 | +"minRecordTimeTips" = "Registra almeno %lds"; | ||
52 | + | ||
53 | +"cameraRoll" = "Recenti"; | ||
54 | +"panoramas" = "Panoramiche"; | ||
55 | +"videos" = "Video"; | ||
56 | +"favorites" = "Preferiti"; | ||
57 | +"timelapses" = "Time-lapse"; | ||
58 | +"recentlyAdded" = "Aggiunto recentemente"; | ||
59 | +"bursts" = "Sequenze"; | ||
60 | +"slomoVideos" = "Slow motion"; | ||
61 | +"selfPortraits" = "Selfie"; | ||
62 | +"screenshots" = "Istantanee"; | ||
63 | +"depthEffect" = "Ritratti"; | ||
64 | +"livePhotos" = "Live Photo"; | ||
65 | +"animated" = "Animazioni"; | ||
66 | +"myPhotoStream" = "II mio streaming foto"; | ||
67 | + | ||
68 | +"noTitleAlbumListPlaceholder" = "Tutte le foto"; | ||
69 | +"unableToAccessAllPhotos" = "Impossibile accedere a tutte le foto nell'album.\nConsenti l'accesso a \"Tutte le foto\" in \"Foto\""; | ||
70 | +"textStickerRemoveTips" = "Trascina qui per rimuovere"; |
1 | +"previewCamera" = "カメラ"; | ||
2 | +"previewCameraRecord" = "撮影"; | ||
3 | +"previewAlbum" = "アルバム"; | ||
4 | +"cancel" = "キャンセル"; | ||
5 | + | ||
6 | +"originalPhoto" = "完全な画像"; | ||
7 | +"done" = "確定"; | ||
8 | +"ok" = "確定"; | ||
9 | +"editFinish" = "完了"; | ||
10 | + | ||
11 | +"back" = "戻る"; | ||
12 | +"edit" = "編集"; | ||
13 | +"revert" = "元に戻す"; | ||
14 | +"brightness" = "明るさ"; | ||
15 | +"contrast" = "コントラスト"; | ||
16 | +"saturation" = "飽和"; | ||
17 | + | ||
18 | +"photo" = "写真"; | ||
19 | +"preview" = "プレビュー"; | ||
20 | + | ||
21 | +"noPhotoTips" = "写真でない"; | ||
22 | +"notAllowMixSelect" = "ビデオを選択できません"; | ||
23 | + | ||
24 | +"loading" = "ロード中,お待ち下さい"; | ||
25 | +"hudLoading" = "後ほど..."; | ||
26 | + | ||
27 | +"exceededMaxSelectCount" = "最大選択数: %ld"; | ||
28 | +"longerThanMaxVideoDuration" = "%ldsより長い動画は選択できません"; | ||
29 | +"shorterThanMaxVideoDuration" = "%ldsより短い動画は選択できません"; | ||
30 | +"exceededMaxVideoSelectCount" = "動画の最大選択数: %ld"; | ||
31 | +"lessThanMinVideoSelectCount" = "動画の最小選択数: %ld"; | ||
32 | + | ||
33 | +"noCameraAuthority" = "「設定」>「プライパシー」>「カメラ」から、%@があなたのデバイスのカメラにアクセスする許可をしてください"; | ||
34 | +"noPhotoLibratyAuthority" = "%@があなたのアルバムにアクセスするには「設定」>「プライバシー」>「写真」"; | ||
35 | +"noMicrophoneAuthority" = "音声を録音できません。「設定」 >「%@」に移動し、マイクへのアクセスを有効にしてください。"; | ||
36 | +"cameraUnavailable" = "カメラは利用できません"; | ||
37 | +"keepRecording" = "撮影を続ける"; | ||
38 | +"gotoSettings" = "設定に移動"; | ||
39 | + | ||
40 | +"iCloudVideoLoadFaild" = "iCloudから同期できません"; | ||
41 | +"imageLoadFailed" = "ロード失敗"; | ||
42 | + | ||
43 | +"save" = "セーブ"; | ||
44 | +"saveImageError" = "画像の保存に失敗しました"; | ||
45 | +"saveVideoError" = "ビデオの保存に失敗しました"; | ||
46 | +"timeout" = "要求タイムアウト"; | ||
47 | + | ||
48 | +"customCameraTips" = "タップして撮影、長押しで記録"; | ||
49 | +"customCameraTakePhotoTips" = "タップして撮影"; | ||
50 | +"customCameraRecordVideoTips" = "長押しで記録"; | ||
51 | +"minRecordTimeTips" = "%lds以上記録する"; | ||
52 | + | ||
53 | +"cameraRoll" = "最近の項目"; | ||
54 | +"panoramas" = "パノラマ"; | ||
55 | +"videos" = "ビデオ"; | ||
56 | +"favorites" = "お気に入り"; | ||
57 | +"timelapses" = "タイムラプス"; | ||
58 | +"recentlyAdded" = "最後に追加した項目"; | ||
59 | +"bursts" = "バースト"; | ||
60 | +"slomoVideos" = "スローモーション"; | ||
61 | +"selfPortraits" = "セルフイー"; | ||
62 | +"screenshots" = "スクリーンショット"; | ||
63 | +"depthEffect" = "ポートレート"; | ||
64 | +"livePhotos" = "Live Photos"; | ||
65 | +"animated" = "アニメーション"; | ||
66 | +"myPhotoStream" = "マイフォトストリーム"; | ||
67 | + | ||
68 | +"noTitleAlbumListPlaceholder" = "画像すべて"; | ||
69 | +"unableToAccessAllPhotos" = "アルバム内のすべての写真にアクセスできません。\n「写真」内の「すべての写真」 へのアクセスを許可してください。"; | ||
70 | +"textStickerRemoveTips" = "ここにドラッグして削除します"; |
1 | +"previewCamera" = "카메라"; | ||
2 | +"previewCameraRecord" = "기록"; | ||
3 | +"previewAlbum" = "이미지"; | ||
4 | +"cancel" = "취소"; | ||
5 | + | ||
6 | +"originalPhoto" = "전체 이미지"; | ||
7 | +"done" = "확인"; | ||
8 | +"ok" = "확인"; | ||
9 | +"editFinish" = "완료"; | ||
10 | + | ||
11 | +"back" = "뒤"; | ||
12 | +"edit" = "편집"; | ||
13 | +"revert" = "실행 취소"; | ||
14 | +"brightness" = "밝기"; | ||
15 | +"contrast" = "대비"; | ||
16 | +"saturation" = "채도"; | ||
17 | + | ||
18 | +"photo" = "사진"; | ||
19 | +"preview" = "미리 보기"; | ||
20 | + | ||
21 | +"noPhotoTips" = "사진 없음"; | ||
22 | +"notAllowMixSelect" = "비디오를 선택할 수 없습니다"; | ||
23 | + | ||
24 | +"loading" = "로딩 중... 기다려주세요"; | ||
25 | +"hudLoading" = "기다리는 중..."; | ||
26 | + | ||
27 | +"exceededMaxSelectCount" = "최대 선택 수: %ld"; | ||
28 | +"longerThanMaxVideoDuration" = "길이가 %ld 초 보다 긴 동영상을 선택할 수 없습니다"; | ||
29 | +"shorterThanMaxVideoDuration" = "기간이 %ld 초 보다 짧은 비디오를 선택할 수 없습니다"; | ||
30 | +"exceededMaxVideoSelectCount" = "동영상 최대 선택 수: %ld"; | ||
31 | +"lessThanMinVideoSelectCount" = "동영상 최소 선택 횟수: %ld"; | ||
32 | + | ||
33 | +"noCameraAuthority" = "%@ 에서 장치의 카메라에 액세스하도록 허용하십시오 에서 \"설정\" > \"개인 정보\" > \"카메라\""; | ||
34 | +"noPhotoLibratyAuthority" = "%@ 이 \"설정\" > \"개인 정보\" > \"사진\"에서 앨범에 액세스하도록 허용하세요"; | ||
35 | +"noMicrophoneAuthority" = "오디오를 녹음할 수 없습니다. \"설정\" > \"%@\"으로 이동하여 마이크 액세스를 사용으로 설정하십시오."; | ||
36 | +"cameraUnavailable" = "카메라를 사용할 수 없습니다"; | ||
37 | +"keepRecording" = "계속 촬영"; | ||
38 | +"gotoSettings" = "설정으로 이동"; | ||
39 | + | ||
40 | +"iCloudVideoLoadFaild" = "iCloud에서 동기화 할 수 없습니다"; | ||
41 | +"imageLoadFailed" = "로드 실패"; | ||
42 | + | ||
43 | +"save" = "저장"; | ||
44 | +"saveImageError" = "이미지를 저장하지 못했습니다"; | ||
45 | +"saveVideoError" = "비디오를 저장하지 못했습니다"; | ||
46 | +"timeout" = "요청 시간이 초과되었습니다"; | ||
47 | + | ||
48 | +"customCameraTips" = "눌러서 촬영 및 길게 눌러서 기록"; | ||
49 | +"customCameraTakePhotoTips" = "눌러서 촬영"; | ||
50 | +"customCameraRecordVideoTips" = "길게 눌러서 기록"; | ||
51 | +"minRecordTimeTips" = "%ld 초 이상 녹화"; | ||
52 | + | ||
53 | +"cameraRoll" = "최근 항목"; | ||
54 | +"panoramas" = "파노라마"; | ||
55 | +"videos" = "비디오"; | ||
56 | +"favorites" = "즐겨 찾기"; | ||
57 | +"timelapses" = "타임랩스"; | ||
58 | +"recentlyAdded" = "최근에 추가"; | ||
59 | +"bursts" = "고속 연사 촬영"; | ||
60 | +"slomoVideos" = "슬로 모션"; | ||
61 | +"selfPortraits" = "셀카"; | ||
62 | +"screenshots" = "스크린샷"; | ||
63 | +"depthEffect" = "인물 사진"; | ||
64 | +"livePhotos" = "Live Photos"; | ||
65 | +"animated" = "움직이는 항목"; | ||
66 | +"myPhotoStream" = "나의 사진 스트림"; | ||
67 | + | ||
68 | +"noTitleAlbumListPlaceholder" = "모든 사진"; | ||
69 | +"unableToAccessAllPhotos" = "앨범 사진에 접근할 수 없습니다.\n\"사진\"에서 \"모든 사진\"에 대한 접근을 허용합니다."; | ||
70 | +"textStickerRemoveTips" = "제거하려면 여기로 드래그하세요"; |
1 | +"previewCamera" = "Kamera"; | ||
2 | +"previewCameraRecord" = "Rekod"; | ||
3 | +"previewAlbum" = "Imej"; | ||
4 | +"cancel" = "Batal"; | ||
5 | + | ||
6 | +"originalPhoto" = "Imej Penuh"; | ||
7 | +"done" = "Selesai"; | ||
8 | +"ok" = "Okey"; | ||
9 | +"editFinish" = "Selesai"; | ||
10 | + | ||
11 | +"back" = "Belakang"; | ||
12 | +"edit" = "Edit"; | ||
13 | +"revert" = "Buat asal"; | ||
14 | +"brightness" = "Kecerahan"; | ||
15 | +"contrast" = "Contrast"; | ||
16 | +"saturation" = "Ketepuan"; | ||
17 | + | ||
18 | +"photo" = "Gambar"; | ||
19 | +"preview" = "Pratonton"; | ||
20 | + | ||
21 | +"noPhotoTips" = "Tiada Foto"; | ||
22 | +"notAllowMixSelect" = "Tidak dapat memilih video"; | ||
23 | + | ||
24 | +"loading" = "Memuatkan, tunggu"; | ||
25 | +"hudLoading" = "menunggu..."; | ||
26 | + | ||
27 | +"exceededMaxSelectCount" = "Kiraan maksimum untuk pemilihan: %ld"; | ||
28 | +"longerThanMaxVideoDuration" = "Tidak dapat memilih video dengan jangka masa lebih lama daripada %lds"; | ||
29 | +"shorterThanMaxVideoDuration" = "Tidak dapat memilih video dengan jangka masa lebih pendek daripada %lds"; | ||
30 | +"exceededMaxVideoSelectCount" = "Jumlah maksimum untuk pemilihan video: %ld"; | ||
31 | +"lessThanMinVideoSelectCount" = "Kiraan minimum untuk pemilihan video: %ld"; | ||
32 | + | ||
33 | +"noCameraAuthority" = "Izinkan %@ mengakses kamera peranti anda di \"Tetapan\" > \"Privasi\" > \"Kamera\""; | ||
34 | +"noPhotoLibratyAuthority" = "Izinkan %@ mengakses album anda di \"Tetapan\" > \"Privasi\" > \"Foto\""; | ||
35 | +"noMicrophoneAuthority" = "Tidak dapat merakam audio. Pergi Ke \"Tetapan\" > \"%@\" dan dayakan akses mikrofon."; | ||
36 | +"cameraUnavailable" = "Kamera tidak tersedia"; | ||
37 | +"keepRecording" = "Teruskan Perakaman"; | ||
38 | +"gotoSettings" = "Pergi ke Tetapan"; | ||
39 | + | ||
40 | +"iCloudVideoLoadFaild" = "Tidak dapat menyegerakkan dari iCloud"; | ||
41 | +"imageLoadFailed" = "pemuatan gagal"; | ||
42 | + | ||
43 | +"save" = "Berjimat"; | ||
44 | +"saveImageError" = "Gagal menyimpan gambar"; | ||
45 | +"saveVideoError" = "Gagal menyimpan video"; | ||
46 | +"timeout" = "Permintaan tamat"; | ||
47 | + | ||
48 | +"customCameraTips" = "Ketik untuk menangkap dan tahan untuk merakam"; | ||
49 | +"customCameraTakePhotoTips" = "Ketik untuk menangkap"; | ||
50 | +"customCameraRecordVideoTips" = "Tahan untuk merakam"; | ||
51 | +"minRecordTimeTips" = "Rakam sekurang-kurangnya %lds"; | ||
52 | + | ||
53 | +"cameraRoll" = "Terbaru"; | ||
54 | +"panoramas" = "Panorama"; | ||
55 | +"videos" = "Video"; | ||
56 | +"favorites" = "Kegemaran"; | ||
57 | +"timelapses" = "Selang Masa"; | ||
58 | +"recentlyAdded" = "Ditambah Terkini"; | ||
59 | +"bursts" = "Jujukan"; | ||
60 | +"slomoVideos" = "Slo-mo"; | ||
61 | +"selfPortraits" = "Swafoto"; | ||
62 | +"screenshots" = "Gambar Skrin"; | ||
63 | +"depthEffect" = "Potret"; | ||
64 | +"livePhotos" = "Live Photos"; | ||
65 | +"animated" = "Beranimasi"; | ||
66 | +"myPhotoStream" = "Strim Foto Saya"; | ||
67 | + | ||
68 | +"noTitleAlbumListPlaceholder" = "Semua Foto"; | ||
69 | +"unableToAccessAllPhotos" = "Tidak dapat mengakses semua foto dalam album.\nBenarkan akses kepada \"Semua Foto\" dalam \"Foto\"."; | ||
70 | +"textStickerRemoveTips" = "Seret ke sini untuk mengalih keluar"; |
1 | +"previewCamera" = "Câmara"; | ||
2 | +"previewCameraRecord" = "Recorde"; | ||
3 | +"previewAlbum" = "Álbum"; | ||
4 | +"cancel" = "Cancelar"; | ||
5 | + | ||
6 | +"originalPhoto" = "Imagem completa"; | ||
7 | +"done" = "Feito"; | ||
8 | +"ok" = "OK"; | ||
9 | +"editFinish" = "Feito"; | ||
10 | + | ||
11 | +"back" = "Voltar"; | ||
12 | +"edit" = "Editar"; | ||
13 | +"revert" = "Desfazer"; | ||
14 | +"brightness" = "Brilho"; | ||
15 | +"contrast" = "Contraste"; | ||
16 | +"saturation" = "Saturação"; | ||
17 | + | ||
18 | +"photo" = "Fotos"; | ||
19 | +"preview" = "Pré-visualização"; | ||
20 | + | ||
21 | +"noPhotoTips" = "Sem Fotos"; | ||
22 | +"notAllowMixSelect" = "Não foi possível selecionar o vídeo"; | ||
23 | + | ||
24 | +"loading" = "carregamento, esperando por favor"; | ||
25 | +"hudLoading" = "à espera..."; | ||
26 | + | ||
27 | +"exceededMaxSelectCount" = "Contagem máxima para seleção: %ld"; | ||
28 | +"longerThanMaxVideoDuration" = "Incapaz de selecionar vídeos com duração superior a %lds"; | ||
29 | +"shorterThanMaxVideoDuration" = "Incapaz de selecionar vídeos com duração inferior a %lds"; | ||
30 | +"exceededMaxVideoSelectCount" = "Contagem máxima para seleção de vídeo: %ld"; | ||
31 | +"lessThanMinVideoSelectCount" = "Contagem mínima para seleção de vídeo: %ld"; | ||
32 | + | ||
33 | +"noCameraAuthority" = "Por favor, permita a %@ aceder à câmara do seu dispositivo em \"Definições\" > \"Privacidade\" > \"Câmara\"."; | ||
34 | +"noPhotoLibratyAuthority" = "Por favor, permita que %@ acesse seu álbum em \"Configurações\" > \"Privacidade\" > \"Fotos\"."; | ||
35 | +"noMicrophoneAuthority" = "Incapaz de gravar áudio. Vá para \"Configurações\" > \"%@\" e habilite o acesso ao microfone."; | ||
36 | +"cameraUnavailable" = "A câmara não está disponível"; | ||
37 | +"keepRecording" = "Continuar Gravando"; | ||
38 | +"gotoSettings" = "Ir para Configurações"; | ||
39 | + | ||
40 | +"iCloudVideoLoadFaild" = "Incapaz de sincronizar a partir do iCloud"; | ||
41 | +"imageLoadFailed" = "carregamento fracassado"; | ||
42 | + | ||
43 | +"save" = "Salvar"; | ||
44 | +"saveImageError" = "Falha em salvar a imagem"; | ||
45 | +"saveVideoError" = "Falha ao salvar o vídeo"; | ||
46 | +"timeout" = "Pedidos com tempo limite"; | ||
47 | + | ||
48 | +"customCameraTips" = "Toque para tirar foto e segure para gravar vídeo"; | ||
49 | +"customCameraTakePhotoTips" = "Toque para tirar foto"; | ||
50 | +"customCameraRecordVideoTips" = "Segure para gravar vídeo"; | ||
51 | +"minRecordTimeTips" = "Registre pelo menos %lds"; | ||
52 | + | ||
53 | +"cameraRoll" = "Recentes"; | ||
54 | +"panoramas" = "Panoramas"; | ||
55 | +"videos" = "Vídeos"; | ||
56 | +"favorites" = "Favoritos"; | ||
57 | +"timelapses" = "Prazo"; | ||
58 | +"recentlyAdded" = "Adicionado recentemente"; | ||
59 | +"bursts" = "Rebentamentos"; | ||
60 | +"slomoVideos" = "Slo-mo"; | ||
61 | +"selfPortraits" = "Selfies"; | ||
62 | +"screenshots" = "Imagens de tela"; | ||
63 | +"depthEffect" = "Retrato"; | ||
64 | +"livePhotos" = "Fotos ao vivo"; | ||
65 | +"animated" = "Animado"; | ||
66 | +"myPhotoStream" = "Meu fluxo de fotos"; | ||
67 | + | ||
68 | +"noTitleAlbumListPlaceholder" = "Todas as fotos"; | ||
69 | +"unableToAccessAllPhotos" = "Incapaz de aceder a todas as fotografias do álbum.\nPermitir o acesso a \"Todas as fotos\" em \"Fotos\"."; | ||
70 | +"textStickerRemoveTips" = "Arraste aqui para remover"; |
1 | +"previewCamera" = "Камера"; | ||
2 | +"previewCameraRecord" = "изображения"; | ||
3 | +"previewAlbum" = "Альбом"; | ||
4 | +"cancel" = "Отмена"; | ||
5 | + | ||
6 | +"originalPhoto" = "Полный формат"; | ||
7 | +"done" = "Готово"; | ||
8 | +"ok" = "в порядке"; | ||
9 | +"editFinish" = "Готово"; | ||
10 | + | ||
11 | +"back" = "Назад"; | ||
12 | +"edit" = "Pед"; | ||
13 | +"revert" = "Отменить"; | ||
14 | +"brightness" = "Яркость"; | ||
15 | +"contrast" = "Контраст"; | ||
16 | +"saturation" = "Насыщенность"; | ||
17 | + | ||
18 | +"photo" = "Фото"; | ||
19 | +"preview" = "Предпросмотр"; | ||
20 | + | ||
21 | +"noPhotoTips" = "Нет фотографии"; | ||
22 | +"notAllowMixSelect" = "Невозможно выбрать видео"; | ||
23 | + | ||
24 | +"loading" = "загрузка, подождите пожалуйста"; | ||
25 | +"hudLoading" = "ожидание..."; | ||
26 | + | ||
27 | +"exceededMaxSelectCount" = "Максимальное количество выбранных: %ld"; | ||
28 | +"longerThanMaxVideoDuration" = "Невозможно выбрать видео длительностью более %ld с"; | ||
29 | +"shorterThanMaxVideoDuration" = "Невозможно выбрать видео продолжительностью менее 2 с"; | ||
30 | +"exceededMaxVideoSelectCount" = "Максимальное количество выбранных видео: %ld"; | ||
31 | +"lessThanMinVideoSelectCount" = "Количество мин. Выбора видео: %ld"; | ||
32 | + | ||
33 | +"noCameraAuthority" = "Разрешите %@ доступ к камере вашего устройства в \"Настройки\" > \"Конфиденциальность\" > \"Камера\""; | ||
34 | +"noPhotoLibratyAuthority" = "Разрешите %@ доступ к вашему альбому в \"Настройки\" > \"Конфиденциальность\" > \"Фото\""; | ||
35 | +"noMicrophoneAuthority" = "Не удалось записать звук. Перейдите в меню \"Настройки\" > \"%@\" и включите доступ к микрофону."; | ||
36 | +"cameraUnavailable" = "Камера недоступна"; | ||
37 | +"keepRecording" = "Продолжить запись"; | ||
38 | +"gotoSettings" = "Перейти в настройки"; | ||
39 | + | ||
40 | +"iCloudVideoLoadFaild" = "Невозможно синхронизировать из iCloud"; | ||
41 | +"imageLoadFailed" = "загрузка не удалась"; | ||
42 | + | ||
43 | +"save" = "Сохранить"; | ||
44 | +"saveImageError" = "Не удалось сохранить изображение"; | ||
45 | +"saveVideoError" = "Не удалось сохранить видео"; | ||
46 | +"timeout" = "Истекло время запроса"; | ||
47 | + | ||
48 | +"customCameraTips" = "Нажмите для съемки, удерживайте для записи"; | ||
49 | +"customCameraTakePhotoTips" = "Нажмите для съeмки"; | ||
50 | +"customCameraRecordVideoTips" = "Удерживайте для записи"; | ||
51 | +"minRecordTimeTips" = "Запишите не менее 2 с"; | ||
52 | + | ||
53 | +"cameraRoll" = "Недавние"; | ||
54 | +"panoramas" = "Панорамы"; | ||
55 | +"videos" = "Видео"; | ||
56 | +"favorites" = "Избранное"; | ||
57 | +"timelapses" = "Tаймлапс"; | ||
58 | +"recentlyAdded" = "Недавно добавленный"; | ||
59 | +"bursts" = "Cepии"; | ||
60 | +"slomoVideos" = "Замедленное"; | ||
61 | +"selfPortraits" = "Селфи"; | ||
62 | +"screenshots" = "Cнимки зкрана"; | ||
63 | +"depthEffect" = "Портреты"; | ||
64 | +"livePhotos" = "Live Photos"; | ||
65 | +"animated" = "Анимированные"; | ||
66 | +"myPhotoStream" = "Мой фотопоток"; | ||
67 | + | ||
68 | +"noTitleAlbumListPlaceholder" = "Все фотографии"; | ||
69 | +"unableToAccessAllPhotos" = "Невозможно получить доступ к фотографиям в альбоме.\nРазрешить доступ ко \"Всем фотографиям\" в \"Фото\"."; | ||
70 | +"textStickerRemoveTips" = "Перетащите сюда, чтобы удалить"; |
1 | +"previewCamera" = "Kamera"; | ||
2 | +"previewCameraRecord" = "Kayıt Et"; | ||
3 | +"previewAlbum" = "Albüm"; | ||
4 | +"cancel" = "İptal"; | ||
5 | + | ||
6 | +"originalPhoto" = "Orijinal Resim"; | ||
7 | +"done" = "Bitti"; | ||
8 | +"ok" = "OK"; | ||
9 | +"editFinish" = "Bitti"; | ||
10 | + | ||
11 | +"back" = "Geri"; | ||
12 | +"edit" = "Düzenle"; | ||
13 | +"revert" = "Geri Al"; | ||
14 | +"brightness" = "Parlaklık"; | ||
15 | +"contrast" = "Kontrast"; | ||
16 | +"saturation" = "Canlılık"; | ||
17 | + | ||
18 | +"photo" = "Fotoğrafşar"; | ||
19 | +"preview" = "Önizle"; | ||
20 | + | ||
21 | +"noPhotoTips" = "Fotoğraf yok"; | ||
22 | +"notAllowMixSelect" = "Video seçilemedi"; | ||
23 | + | ||
24 | +"loading" = "yükleniyor, lütfen bekleyin..."; | ||
25 | +"hudLoading" = "bekleyin..."; | ||
26 | + | ||
27 | +"exceededMaxSelectCount" = "Maksimum seçim adeti: %ld"; | ||
28 | +"longerThanMaxVideoDuration" = "%lds'dan uzun süreli videolar seçilemiyor."; | ||
29 | +"shorterThanMaxVideoDuration" = "%lds'dan kıza süreli videolar seçilemiyor."; | ||
30 | +"exceededMaxVideoSelectCount" = "Maksimum video seçim adeti: %ld"; | ||
31 | +"lessThanMinVideoSelectCount" = "Minimum video seçim adeti: %ld"; | ||
32 | + | ||
33 | +"noCameraAuthority" = "Lütfen %@'nin \"Ayarlar\" > \"Gizlilik\" > \"Kamera\" bölümünden cihazınızın kamerasına erişmesine izin verin"; | ||
34 | +"noPhotoLibratyAuthority" = "Lütfen %@'nin \"Ayarlar\" > \"Gizlilik\" > \"Fotoğraflar\" bölümünde albümünüze erişmesine izin verin"; | ||
35 | +"noMicrophoneAuthority" = "Ses kaydedilemiyor. \"Ayarlar\" > \"%@\" seçeneğine gidin ve mikrofon erişimini etkinleştirin."; | ||
36 | +"cameraUnavailable" = "Kamera kullanılamıyor"; | ||
37 | +"keepRecording" = "Kayda Devam Et"; | ||
38 | +"gotoSettings" = "Ayarlara git"; | ||
39 | + | ||
40 | +"iCloudVideoLoadFaild" = "iCloud'dan senkronize edilemiyor"; | ||
41 | +"imageLoadFailed" = "Yüklenemedi!"; | ||
42 | + | ||
43 | +"save" = "Kaydet"; | ||
44 | +"saveImageError" = "Resim kaydedilemedi!"; | ||
45 | +"saveVideoError" = "Video kaydedilemedi!"; | ||
46 | +"timeout" = "İstek zaman aşımına uğradı"; | ||
47 | + | ||
48 | +"customCameraTips" = "Fotoğraf çekmek için dokunun ve video kaydetmek için basılı tutun"; | ||
49 | +"customCameraTakePhotoTips" = "Fotoğraf çekmek için dokunun"; | ||
50 | +"customCameraRecordVideoTips" = "Video çekmek için basılı tutun"; | ||
51 | +"minRecordTimeTips" = "En az %lds kaydedin"; | ||
52 | + | ||
53 | +"cameraRoll" = "Son Çekimler"; | ||
54 | +"panoramas" = "Panoramalar"; | ||
55 | +"videos" = "Videolar"; | ||
56 | +"favorites" = "Favoriler"; | ||
57 | +"timelapses" = "Hızlandırılmışlar"; | ||
58 | +"recentlyAdded" = "Yeni Eklenenler"; | ||
59 | +"bursts" = "Bursts"; | ||
60 | +"slomoVideos" = "Yavaş Çekimler"; | ||
61 | +"selfPortraits" = "Selfie'ler"; | ||
62 | +"screenshots" = "Ekran Görüntüleri"; | ||
63 | +"depthEffect" = "Portreler"; | ||
64 | +"livePhotos" = "Live Photo'lar"; | ||
65 | +"animated" = "Hareketli"; | ||
66 | +"myPhotoStream" = "Fotoğraf Akışım"; | ||
67 | + | ||
68 | +"noTitleAlbumListPlaceholder" = "Tüm Fotoğraflar"; | ||
69 | +"unableToAccessAllPhotos" = "Albümdeki tüm fotoğraflara erişilemiyor.\n\"Fotoğraflar\"da \"Tüm Fotoğraflar\"a erişime izin verin."; | ||
70 | +"textStickerRemoveTips" = "Kaldırmak için buraya sürükleyin"; |
1 | +"previewCamera" = "Camera"; | ||
2 | +"previewCameraRecord" = "Ghi lại"; | ||
3 | +"previewAlbum" = "Hình ảnh"; | ||
4 | +"cancel" = "Huỷ"; | ||
5 | + | ||
6 | +"originalPhoto" = "Toàn bộ hình ảnh"; | ||
7 | +"done" = "Xong"; | ||
8 | +"ok" = "đồng ý"; | ||
9 | +"editFinish" = "Xong"; | ||
10 | + | ||
11 | +"back" = "Trở lại"; | ||
12 | +"edit" = "Chỉnh sửa"; | ||
13 | +"revert" = "Hoàn tác"; | ||
14 | +"brightness" = "độ sáng"; | ||
15 | +"contrast" = "Sự tương phản"; | ||
16 | +"saturation" = "Bão hòa"; | ||
17 | + | ||
18 | +"photo" = "Ảnh"; | ||
19 | +"preview" = "Xem trước"; | ||
20 | + | ||
21 | +"noPhotoTips" = "Không có ảnh"; | ||
22 | +"notAllowMixSelect" = "Không thể chọn video"; | ||
23 | + | ||
24 | +"loading" = "đang tải, vui lòng đợi"; | ||
25 | +"hudLoading" = "đang chờ đợi..."; | ||
26 | + | ||
27 | +"exceededMaxSelectCount" = "Số lượng lựa chọn tối đa: %ld"; | ||
28 | +"longerThanMaxVideoDuration" = "Không thể chọn video có thời lượng dài hơn %ld giây"; | ||
29 | +"shorterThanMaxVideoDuration" = "Không thể chọn video có thời lượng ngắn hơn %ld giây"; | ||
30 | +"exceededMaxVideoSelectCount" = "Số lượng lựa chọn tối đa của video: %ld"; | ||
31 | +"lessThanMinVideoSelectCount" = "Số phút chọn tối thiểu của video: %ld"; | ||
32 | + | ||
33 | +"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\""; | ||
34 | +"noPhotoLibratyAuthority" = "Vui lòng cho phép %@ truy cập anbom của bạn trong \"Cài đặt\" > \"Bảo mật\" > \"Ảnh\""; | ||
35 | +"noMicrophoneAuthority" = "Không thểghi hình. Đi tới \"Cài đặt\" > \"%@\" và bật quyên truy cập mic."; | ||
36 | +"cameraUnavailable" = "Máy ảnh không khả dụng"; | ||
37 | +"keepRecording" = "Tiếp tục ghi hình"; | ||
38 | +"gotoSettings" = "Đi đến Cài đặt"; | ||
39 | + | ||
40 | +"iCloudVideoLoadFaild" = "Không thể đồng bộ hóa từ iCloud"; | ||
41 | +"imageLoadFailed" = "tải không thành công"; | ||
42 | + | ||
43 | +"save" = "Tiết kiệm"; | ||
44 | +"saveImageError" = "Lưu ảnh không thành công"; | ||
45 | +"saveVideoError" = "Lưu video không thành công"; | ||
46 | +"timeout" = "Yêu cầu đã hết thời gian chờ"; | ||
47 | + | ||
48 | +"customCameraTips" = "Nhấn để chụp và giữ để ghi"; | ||
49 | +"customCameraTakePhotoTips" = "Nhấn để chụp"; | ||
50 | +"customCameraRecordVideoTips" = "Giữ để quay video"; | ||
51 | +"minRecordTimeTips" = "Ghi ít nhất %ld giây"; | ||
52 | + | ||
53 | +"cameraRoll" = "Gần đây"; | ||
54 | +"panoramas" = "Ảnh toàn cảnh"; | ||
55 | +"videos" = "Video"; | ||
56 | +"favorites" = "Mục ưa thích"; | ||
57 | +"timelapses" = "Ảnh time-lapse"; | ||
58 | +"recentlyAdded" = "Đã thêm gần đây"; | ||
59 | +"bursts" = "Chụp liên hình"; | ||
60 | +"slomoVideos" = "Quay chậm"; | ||
61 | +"selfPortraits" = "Ảnh selfie"; | ||
62 | +"screenshots" = "Ảnh màn hình"; | ||
63 | +"depthEffect" = "Chân dung"; | ||
64 | +"livePhotos" = "Live Photos"; | ||
65 | +"animated" = "Hình động"; | ||
66 | +"myPhotoStream" = "Kho ảnh của tôi"; | ||
67 | + | ||
68 | +"noTitleAlbumListPlaceholder" = "Tất cả ảnh"; | ||
69 | +"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\"."; | ||
70 | +"textStickerRemoveTips" = "Kéo vào đây để xóa"; |
1 | +"previewCamera" = "拍照"; | ||
2 | +"previewCameraRecord" = "拍摄"; | ||
3 | +"previewAlbum" = "相册"; | ||
4 | +"cancel" = "取消"; | ||
5 | + | ||
6 | +"originalPhoto" = "原图"; | ||
7 | +"done" = "确定"; | ||
8 | +"ok" = "确定"; | ||
9 | +"editFinish" = "完成"; | ||
10 | + | ||
11 | +"back" = "返回"; | ||
12 | +"edit" = "编辑"; | ||
13 | +"revert" = "还原"; | ||
14 | +"brightness" = "亮度"; | ||
15 | +"contrast" = "对比度"; | ||
16 | +"saturation" = "饱和度"; | ||
17 | + | ||
18 | +"photo" = "照片"; | ||
19 | +"preview" = "预览"; | ||
20 | + | ||
21 | +"noPhotoTips" = "无照片"; | ||
22 | +"notAllowMixSelect" = "不能同时选择照片和视频"; | ||
23 | + | ||
24 | +"loading" = "加载中,请稍后"; | ||
25 | +"hudLoading" = "正在处理..."; | ||
26 | + | ||
27 | +"exceededMaxSelectCount" = "最多只能选择%ld张图片"; | ||
28 | +"longerThanMaxVideoDuration" = "不能选择超过%ld秒的视频"; | ||
29 | +"shorterThanMaxVideoDuration" = "不能选择低于%ld秒的视频"; | ||
30 | +"exceededMaxVideoSelectCount" = "最多只能选择%ld个视频"; | ||
31 | +"lessThanMinVideoSelectCount" = "最少选择%ld个视频"; | ||
32 | + | ||
33 | +"noCameraAuthority" = "请在iPhone的\"设置 > 隐私 > 相机\"选项中,允许%@访问你的相机"; | ||
34 | +"noPhotoLibratyAuthority" = "请在iPhone的\"设置 > 隐私 >照片\"选项中,允许%@访问你的照片"; | ||
35 | +"noMicrophoneAuthority" = "无法录制声音,前往\"设置 > %@\"中打开麦克风权限"; | ||
36 | +"cameraUnavailable" = "相机不可用"; | ||
37 | +"keepRecording" = "继续拍摄"; | ||
38 | +"gotoSettings" = "前往设置"; | ||
39 | + | ||
40 | +"iCloudVideoLoadFaild" = "iCloud无法同步"; | ||
41 | +"imageLoadFailed" = "图片加载失败"; | ||
42 | + | ||
43 | +"save" = "保存"; | ||
44 | +"saveImageError" = "图片保存失败"; | ||
45 | +"saveVideoError" = "视频保存失败"; | ||
46 | +"timeout" = "请求超时"; | ||
47 | + | ||
48 | +"customCameraTips" = "轻触拍照,按住摄像"; | ||
49 | +"customCameraTakePhotoTips" = "轻触拍照"; | ||
50 | +"customCameraRecordVideoTips" = "按住摄像"; | ||
51 | +"minRecordTimeTips" = "至少录制%ld秒"; | ||
52 | + | ||
53 | +"cameraRoll" = "最近项目"; | ||
54 | +"panoramas" = "全景照片"; | ||
55 | +"videos" = "视频"; | ||
56 | +"favorites" = "个人收藏"; | ||
57 | +"timelapses" = "延时摄影"; | ||
58 | +"recentlyAdded" = "最近添加"; | ||
59 | +"bursts" = "连拍快照"; | ||
60 | +"slomoVideos" = "慢动作"; | ||
61 | +"selfPortraits" = "自拍"; | ||
62 | +"screenshots" = "屏幕快照"; | ||
63 | +"depthEffect" = "人像"; | ||
64 | +"livePhotos" = "Live Photos"; | ||
65 | +"animated" = "动图"; | ||
66 | +"myPhotoStream" = "我的照片流"; | ||
67 | + | ||
68 | +"noTitleAlbumListPlaceholder" = "所有照片"; | ||
69 | +"unableToAccessAllPhotos" = "无法访问相册中所有照片,\n请允许访问「照片」中的「所有照片」。"; | ||
70 | +"textStickerRemoveTips" = "拖到此处删除"; |
1 | +"previewCamera" = "拍照"; | ||
2 | +"previewCameraRecord" = "拍攝"; | ||
3 | +"previewAlbum" = "相冊"; | ||
4 | +"cancel" = "取消"; | ||
5 | + | ||
6 | +"originalPhoto" = "原圖"; | ||
7 | +"done" = "確定"; | ||
8 | +"ok" = "確定"; | ||
9 | +"editFinish" = "完成"; | ||
10 | + | ||
11 | +"back" = "返回"; | ||
12 | +"edit" = "編輯"; | ||
13 | +"revert" = "還原"; | ||
14 | +"brightness" = "亮度"; | ||
15 | +"contrast" = "對比度"; | ||
16 | +"saturation" = "飽和度"; | ||
17 | + | ||
18 | +"photo" = "照片"; | ||
19 | +"preview" = "預覽"; | ||
20 | + | ||
21 | +"noPhotoTips" = "無照片"; | ||
22 | +"notAllowMixSelect" = "不能同時選擇照片和視頻"; | ||
23 | + | ||
24 | +"loading" = "加載中,請稍後"; | ||
25 | +"hudLoading" = "正在處理..."; | ||
26 | + | ||
27 | +"exceededMaxSelectCount" = "最多只能選擇%ld張圖片"; | ||
28 | +"longerThanMaxVideoDuration" = "不能選擇超過%ld秒的視頻"; | ||
29 | +"shorterThanMaxVideoDuration" = "不能選擇低於%ld秒的視頻"; | ||
30 | +"exceededMaxVideoSelectCount" = "最多只能選擇%ld個視頻"; | ||
31 | +"lessThanMinVideoSelectCount" = "最少選擇%ld個視頻"; | ||
32 | + | ||
33 | +"noCameraAuthority" = "請在iPhone的\"設置 > 隱私 > 相機\"選項中,允許%@訪問你的相機"; | ||
34 | +"noPhotoLibratyAuthority" = "請在iPhone的\"設置 > 隱私 > 相冊\"選項中,允許%@訪問你的照片"; | ||
35 | +"noMicrophoneAuthority" = "無法錄製聲音,前往\"設置 > %@\"中打開麥克風權限"; | ||
36 | +"cameraUnavailable" = "相機不可用"; | ||
37 | +"keepRecording" = "繼續拍攝"; | ||
38 | +"gotoSettings" = "前往設置"; | ||
39 | + | ||
40 | +"iCloudVideoLoadFaild" = "iCloud無法同步"; | ||
41 | +"imageLoadFailed" = "圖片加載失敗"; | ||
42 | + | ||
43 | +"save" = "保存"; | ||
44 | +"saveImageError" = "圖片保存失敗"; | ||
45 | +"saveVideoError" = "視頻保存失敗"; | ||
46 | +"timeout" = "請求超時"; | ||
47 | + | ||
48 | +"customCameraTips" = "輕觸拍照,按住攝像"; | ||
49 | +"customCameraTakePhotoTips" = "輕觸拍照"; | ||
50 | +"customCameraRecordVideoTips" = "按住攝像"; | ||
51 | +"minRecordTimeTips" = "至少錄制%ld秒"; | ||
52 | + | ||
53 | +"cameraRoll" = "最近項目"; | ||
54 | +"panoramas" = "全景照片"; | ||
55 | +"videos" = "視頻"; | ||
56 | +"favorites" = "個人收藏"; | ||
57 | +"timelapses" = "延時攝影"; | ||
58 | +"recentlyAdded" = "最近添加"; | ||
59 | +"bursts" = "連拍快照"; | ||
60 | +"slomoVideos" = "慢動作"; | ||
61 | +"selfPortraits" = "自拍"; | ||
62 | +"screenshots" = "屏幕快照"; | ||
63 | +"depthEffect" = "人像"; | ||
64 | +"livePhotos" = "Live Photos"; | ||
65 | +"animated" = "動圖"; | ||
66 | +"myPhotoStream" = "我的照片流"; | ||
67 | + | ||
68 | +"noTitleAlbumListPlaceholder" = "所有照片"; | ||
69 | +"unableToAccessAllPhotos" = "無法訪問相冊中所有照片,\n請允許訪問「照片」中的「所有照片」。"; | ||
70 | +"textStickerRemoveTips" = "拖到此處刪除"; |

1.69 KB

2.78 KB

582 Bytes

794 Bytes

594 Bytes

852 Bytes

555 Bytes

705 Bytes

1.61 KB

2.72 KB

821 Bytes

1.04 KB

1002 Bytes

1.28 KB

1.04 KB

1.59 KB

1.12 KB

450 Bytes

636 Bytes

329 Bytes

459 Bytes

416 Bytes

544 Bytes

548 Bytes

709 Bytes

632 Bytes

944 Bytes

185 Bytes

311 Bytes

460 Bytes

621 Bytes

864 Bytes

1.31 KB

936 Bytes

1.37 KB

1.07 KB

644 Bytes

940 Bytes

802 Bytes

1.03 KB

740 Bytes

1010 Bytes

679 Bytes

861 Bytes

900 Bytes

1.2 KB

836 Bytes

1.13 KB

221 Bytes

253 Bytes

119 Bytes

130 Bytes

118 Bytes

129 Bytes

1.59 KB

2.56 KB

833 Bytes

1.17 KB

379 Bytes

625 Bytes

221 Bytes

340 Bytes

186 Bytes

171 Bytes

1.25 KB

2.06 KB

168 Bytes

206 Bytes

393 Bytes

497 Bytes

1.13 KB

1.69 KB

825 Bytes
-
Please register or login to post a comment