Skip to content

Commit cf915ea

Browse files
authored
Merge pull request #118 from baronha/feat/preview-ios
[] Preview Controller
2 parents 7d7f5c9 + 4b3b326 commit cf915ea

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+3351
-179
lines changed

example/ios/MultipleImagePickerExample.xcodeproj/project.pbxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -367,6 +367,7 @@
367367
"${PODS_ROOT}/TLPhotoPicker/TLPhotoPicker/TLPhotoPickerController.bundle",
368368
"${PODS_CONFIGURATION_BUILD_DIR}/TLPhotoPicker/TLPhotoPicker.bundle",
369369
"${PODS_CONFIGURATION_BUILD_DIR}/react-native-multiple-image-picker/MultipleImagePicker.bundle",
370+
"${PODS_CONFIGURATION_BUILD_DIR}/react-native-multiple-image-picker/Viewer.bundle",
370371
);
371372
name = "[CP] Copy Pods Resources";
372373
outputPaths = (
@@ -375,6 +376,7 @@
375376
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/TLPhotoPickerController.bundle",
376377
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/TLPhotoPicker.bundle",
377378
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MultipleImagePicker.bundle",
379+
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Viewer.bundle",
378380
);
379381
runOnlyForDeploymentPostprocessing = 0;
380382
shellPath = /bin/sh;

example/ios/Podfile.lock

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,12 @@ PODS:
330330
- React-jsinspector (0.71.5)
331331
- React-logger (0.71.5):
332332
- glog
333-
- react-native-multiple-image-picker (1.0.1):
333+
- react-native-multiple-image-picker (1.0.3):
334+
- CropViewController (= 2.6.1)
335+
- React-Core
336+
- react-native-multiple-image-picker/Viewer (= 1.0.3)
337+
- TLPhotoPicker (= 2.1.9)
338+
- react-native-multiple-image-picker/Viewer (1.0.3):
334339
- CropViewController (= 2.6.1)
335340
- React-Core
336341
- TLPhotoPicker (= 2.1.9)
@@ -418,7 +423,7 @@ PODS:
418423
- React-jsi (= 0.71.5)
419424
- React-logger (= 0.71.5)
420425
- React-perflogger (= 0.71.5)
421-
- SocketRocket (0.6.0)
426+
- SocketRocket (0.6.1)
422427
- TLPhotoPicker (2.1.9)
423428
- Yoga (1.14.0)
424429
- YogaKit (1.18.1):
@@ -613,7 +618,7 @@ SPEC CHECKSUMS:
613618
React-jsiexecutor: 1579bf3207afadc72ac3638a66a102d1bf5263e3
614619
React-jsinspector: 14a342151ab810862998dfc99e2720746734e9b3
615620
React-logger: 94ec392ae471683635e4bf874d4e82f675399d2d
616-
react-native-multiple-image-picker: 418868907d4ffb9c7a279009ee5645c43c941d1e
621+
react-native-multiple-image-picker: 83b0fe4a14eaa7ae6fd5e5af46d7706ce26b2c7b
617622
React-perflogger: 883a55a9a899535eaf06d0029108ef9ef22cce92
618623
React-RCTActionSheet: 1a3b8416688a3d291367be645022886f71d6842a
619624
React-RCTAnimation: e5560cb72d91ba35151d51e2eb0d467b42763f43
@@ -627,7 +632,7 @@ SPEC CHECKSUMS:
627632
React-RCTVibration: f0f5ad6417803de42e022d99247a6b1ddaf46c13
628633
React-runtimeexecutor: 511f4301d85daf85abface9afb8d2df2d49f87d3
629634
ReactCommon: 4f43b72066f27bfe1f63838c61763f59e7112536
630-
SocketRocket: fccef3f9c5cedea1353a9ef6ada904fde10d6608
635+
SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17
631636
TLPhotoPicker: 939c40eaad130b69f9571e61e021e8120fa76329
632637
Yoga: cd7d7f509dbfac14ee7f31a6c750acb957cd5022
633638
YogaKit: f782866e155069a2cca2517aafea43200b01fd5a

ios/CustomPhotoPicker/Cell.swift

Lines changed: 43 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,57 @@
77
//
88

99
import Foundation
10-
import TLPhotoPicker
1110
import PhotosUI
11+
import TLPhotoPicker
1212

1313
class Cell: TLPhotoCollectionViewCell {
14-
15-
var configure = MultipleImagePickerConfigure
16-
14+
static let longPressNotification = Notification.Name("CellLongPressNotification")
15+
16+
// Khởi tạo cell và thiết lập sự kiện Long Press
17+
override init(frame: CGRect) {
18+
super.init(frame: frame)
19+
self.setupLongPressGesture()
20+
}
21+
22+
required init?(coder aDecoder: NSCoder) {
23+
super.init(coder: aDecoder)
24+
self.setupLongPressGesture()
25+
}
26+
27+
private func setupLongPressGesture() {
28+
let longPressGesture = UILongPressGestureRecognizer(target: self, action: #selector(self.handleLongPress(_:)))
29+
addGestureRecognizer(longPressGesture)
30+
}
31+
32+
// Xử lý sự kiện Long Press
33+
@objc private func handleLongPress(_ gestureRecognizer: UILongPressGestureRecognizer) {
34+
guard gestureRecognizer.state == .began && !self.isCameraCell
35+
else {
36+
return
37+
}
38+
39+
NotificationCenter.default.post(name: Cell.longPressNotification, object: self)
40+
}
41+
42+
private func findViewController() -> UIViewController? {
43+
var responder: UIResponder? = self
44+
while let currentResponder = responder {
45+
if let viewController = currentResponder as? UIViewController {
46+
return viewController
47+
}
48+
responder = currentResponder.next
49+
}
50+
return nil
51+
}
52+
1753
override var duration: TimeInterval? {
1854
didSet {
1955
self.durationLabel?.isHidden = self.duration == nil ? true : false
2056
guard let duration = self.duration else { return }
2157
self.durationLabel?.text = timeFormatted(timeInterval: duration)
2258
}
2359
}
24-
60+
2561
override var isCameraCell: Bool {
2662
didSet {
2763
self.orderLabel?.isHidden = self.isCameraCell
@@ -31,7 +67,7 @@ class Cell: TLPhotoCollectionViewCell {
3167

3268
override public var selectedAsset: Bool {
3369
willSet(newValue) {
34-
self.orderLabel?.backgroundColor = newValue ? self.configure.selectedColor : UIColor(red: 1, green: 1, blue: 1, alpha: 0.3)
70+
self.orderLabel?.backgroundColor = newValue ? config.selectedColor : UIColor(red: 1, green: 1, blue: 1, alpha: 0.3)
3571
}
3672
}
3773

@@ -43,13 +79,12 @@ class Cell: TLPhotoCollectionViewCell {
4379
self.orderLabel?.layer.cornerRadius = 12
4480
self.orderLabel?.layer.borderWidth = 2
4581
self.orderLabel?.layer.borderColor = UIColor.white.cgColor
46-
self.videoIconImageView?.image = self.configure.videoIcon
82+
self.videoIconImageView?.image = config.videoIcon
4783
if #available(iOS 11.0, *) {
4884
self.imageView?.accessibilityIgnoresInvertColors = true
4985
self.playerView?.accessibilityIgnoresInvertColors = true
5086
self.livePhotoView?.accessibilityIgnoresInvertColors = true
5187
self.videoIconImageView?.accessibilityIgnoresInvertColors = true
5288
}
5389
}
54-
5590
}

0 commit comments

Comments
 (0)