diff --git a/SKPhotoBrowser.xcodeproj/project.pbxproj b/SKPhotoBrowser.xcodeproj/project.pbxproj index 49c47ab..94a62b2 100644 --- a/SKPhotoBrowser.xcodeproj/project.pbxproj +++ b/SKPhotoBrowser.xcodeproj/project.pbxproj @@ -23,7 +23,7 @@ 8909B54D1BC7916E0060A053 /* SKPhotoBrowser.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 8909B54C1BC7916E0060A053 /* SKPhotoBrowser.bundle */; }; 8917B1B01D5A13DE000CE1C4 /* SKPhotoBrowserDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8917B1AF1D5A13DE000CE1C4 /* SKPhotoBrowserDelegate.swift */; }; 8917B1B21D5A1407000CE1C4 /* SKPhotoBrowserAnimatorDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8917B1B11D5A1407000CE1C4 /* SKPhotoBrowserAnimatorDelegate.swift */; }; - 8917B1B41D5A14B0000CE1C4 /* SKButtonBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8917B1B31D5A14B0000CE1C4 /* SKButtonBuilder.swift */; }; + 8917B1B41D5A14B0000CE1C4 /* SKButtons.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8917B1B31D5A14B0000CE1C4 /* SKButtons.swift */; }; 89D0BA471D5994A8002A811B /* SKAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89D0BA461D5994A8002A811B /* SKAnimator.swift */; }; 89D0BA491D59966B002A811B /* SKMesurement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89D0BA481D59966B002A811B /* SKMesurement.swift */; }; 8CA6C6521CBE76E80054D3C2 /* SKLocalPhoto.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CA6C6511CBE76E80054D3C2 /* SKLocalPhoto.swift */; }; @@ -60,7 +60,7 @@ 8909B54C1BC7916E0060A053 /* SKPhotoBrowser.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = SKPhotoBrowser.bundle; sourceTree = ""; }; 8917B1AF1D5A13DE000CE1C4 /* SKPhotoBrowserDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SKPhotoBrowserDelegate.swift; sourceTree = ""; }; 8917B1B11D5A1407000CE1C4 /* SKPhotoBrowserAnimatorDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SKPhotoBrowserAnimatorDelegate.swift; sourceTree = ""; }; - 8917B1B31D5A14B0000CE1C4 /* SKButtonBuilder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SKButtonBuilder.swift; sourceTree = ""; }; + 8917B1B31D5A14B0000CE1C4 /* SKButtons.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SKButtons.swift; sourceTree = ""; }; 89D0BA461D5994A8002A811B /* SKAnimator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SKAnimator.swift; sourceTree = ""; }; 89D0BA481D59966B002A811B /* SKMesurement.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SKMesurement.swift; sourceTree = ""; }; 8CA6C6511CBE76E80054D3C2 /* SKLocalPhoto.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SKLocalPhoto.swift; sourceTree = ""; }; @@ -118,7 +118,7 @@ 8909B5321BC791280060A053 /* SKPhotoBrowser */ = { isa = PBXGroup; children = ( - 8917B1B31D5A14B0000CE1C4 /* SKButtonBuilder.swift */, + 8917B1B31D5A14B0000CE1C4 /* SKButtons.swift */, 89D0BA461D5994A8002A811B /* SKAnimator.swift */, 26C97AD41D0EB6870039F6CB /* SKCache.swift */, 26C97AD81D0EB8BB0039F6CB /* SKCacheable.swift */, @@ -288,7 +288,7 @@ 89D0BA491D59966B002A811B /* SKMesurement.swift in Sources */, 8909B5471BC791510060A053 /* SKPhoto.swift in Sources */, 8909B5461BC791510060A053 /* SKIndicatorView.swift in Sources */, - 8917B1B41D5A14B0000CE1C4 /* SKButtonBuilder.swift in Sources */, + 8917B1B41D5A14B0000CE1C4 /* SKButtons.swift in Sources */, 26C97AD51D0EB6870039F6CB /* SKCache.swift in Sources */, 210E53EF1C986D57008DD5E3 /* UIImage+Rotation.swift in Sources */, 8909B5431BC791510060A053 /* SKCaptionView.swift in Sources */, diff --git a/SKPhotoBrowser/SKButtonBuilder.swift b/SKPhotoBrowser/SKButtons.swift similarity index 98% rename from SKPhotoBrowser/SKButtonBuilder.swift rename to SKPhotoBrowser/SKButtons.swift index 858e04b..d9112ef 100644 --- a/SKPhotoBrowser/SKButtonBuilder.swift +++ b/SKPhotoBrowser/SKButtons.swift @@ -1,5 +1,5 @@ // -// SKButtonBuilder.swift +// SKButtons.swift // SKPhotoBrowser // // Created by 鈴木 啓司 on 2016/08/09. diff --git a/SKPhotoBrowser/SKPhotoBrowser.swift b/SKPhotoBrowser/SKPhotoBrowser.swift index 2d613ee..d2a66b6 100644 --- a/SKPhotoBrowser/SKPhotoBrowser.swift +++ b/SKPhotoBrowser/SKPhotoBrowser.swift @@ -62,23 +62,9 @@ public class SKPhotoBrowser: UIViewController, UIScrollViewDelegate { private var panGesture: UIPanGestureRecognizer! // MARK: close button private var closeButton: SKCloseButton! - // MARK: delete button - var deleteButton: UIButton! - var deleteButtonShowFrame: CGRect! - var deleteButtonHideFrame: CGRect! - - // MARK: - custom buttons - // MARK: CustomCloseButton - var customCloseButton: UIButton! - public var customCloseButtonShowFrame: CGRect! - public var customCloseButtonHideFrame: CGRect! + private var deleteButton: SKDeleteButton! public var customCloseButtonImage: UIImage! public var customCloseButtonEdgeInsets: UIEdgeInsets! - - // MARK: CustomDeleteButton - var customDeleteButton: UIButton! - public var customDeleteButtonShowFrame: CGRect! - public var customDeleteButtonHideFrame: CGRect! public var customDeleteButtonImage: UIImage! public var customDeleteButtonEdgeInsets: UIEdgeInsets! @@ -238,8 +224,6 @@ public class SKPhotoBrowser: UIViewController, UIScrollViewDelegate { setCustomSetting() setSettingCloseButton() setSettingDeleteButton() - setSettingCustomCloseButton() - setSettingCustomDeleteButton() // action button toolActionButton = UIBarButtonItem(barButtonSystemItem: .Action, target: self, action: #selector(SKPhotoBrowser.actionButtonPressed)) @@ -317,72 +301,33 @@ public class SKPhotoBrowser: UIViewController, UIScrollViewDelegate { } } - // MARK: - Buttons' setting private func setSettingCloseButton() { closeButton = SKCloseButton(frame: view.frame) closeButton.addTarget(self, action: #selector(closeButtonPressed(_:)), forControlEvents: UIControlEvents.TouchUpInside) closeButton.hidden = !displayCloseButton view.addSubview(closeButton) + + // If another developer has not set their values + if customCloseButtonImage != nil { + closeButton.setImage(customCloseButtonImage, forState: .Normal) + } + if customCloseButtonEdgeInsets != nil { + closeButton.imageEdgeInsets = customCloseButtonEdgeInsets + } } - // MARK: Delete button - private func setSettingDeleteButton() { deleteButton = SKDeleteButton(frame: view.frame) deleteButton.addTarget(self, action: #selector(deleteButtonPressed(_:)), forControlEvents: UIControlEvents.TouchUpInside) deleteButton.hidden = !displayDeleteButton view.addSubview(deleteButton) - } - - // MARK: - Custom buttons' setting - // MARK: Custom Close Button - - private func setSettingCustomCloseButton() { - if displayCustomCloseButton == true { - let closeImage = UIImage(named: "SKPhotoBrowser.bundle/images/btn_common_close_wh", inBundle: bundle, compatibleWithTraitCollection: nil) ?? UIImage() - customCloseButton = UIButton(type: .Custom) - customCloseButton.addTarget(self, action: #selector(self.closeButtonPressed(_:)), forControlEvents: .TouchUpInside) - customCloseButton.backgroundColor = .clearColor() - // If another developer has not set their values - if customCloseButtonImage != nil { - customCloseButton.setImage(customCloseButtonImage, forState: .Normal) - } else { - customCloseButton.setImage(closeImage, forState: .Normal) - } - if customCloseButtonShowFrame == nil && customCloseButtonHideFrame == nil { - customCloseButtonShowFrame = CGRect(x: 5, y: buttonTopOffset, width: 44, height: 44) - customCloseButtonHideFrame = CGRect(x: 5, y: -20, width: 44, height: 44) - } - if customCloseButtonEdgeInsets != nil { - customCloseButton.imageEdgeInsets = customCloseButtonEdgeInsets - } - - customCloseButton.translatesAutoresizingMaskIntoConstraints = true - view.addSubview(customCloseButton) - customCloseButton.autoresizingMask = [.FlexibleBottomMargin, .FlexibleLeftMargin, .FlexibleRightMargin, .FlexibleTopMargin] + + // If another developer has not set their values + if customDeleteButtonImage != nil { + deleteButton.setImage(customCloseButtonImage, forState: .Normal) } - } - - // MARK: Custom Delete Button - private func setSettingCustomDeleteButton() { - if displayCustomDeleteButton == true { - customDeleteButton = UIButton(type: .Custom) - customDeleteButton.backgroundColor = .clearColor() - customDeleteButton.addTarget(self, action: #selector(self.deleteButtonPressed(_:)), forControlEvents: .TouchUpInside) - // If another developer has not set their values - if customDeleteButtonShowFrame == nil && customDeleteButtonHideFrame == nil { - customDeleteButtonShowFrame = CGRect(x: view.frame.width - 44, y: buttonTopOffset, width: 44, height: 44) - customDeleteButtonHideFrame = CGRect(x: view.frame.width - 44, y: -20, width: 44, height: 44) - } - if let _customDeleteButtonImage = customDeleteButtonImage { - customDeleteButton.setImage(_customDeleteButtonImage, forState: .Normal) - } - if let _customDeleteButtonEdgeInsets = customDeleteButtonEdgeInsets { - customDeleteButton.imageEdgeInsets = _customDeleteButtonEdgeInsets - } - view.addSubview(customDeleteButton) - customDeleteButton.translatesAutoresizingMaskIntoConstraints = true - customDeleteButton.autoresizingMask = [.FlexibleBottomMargin, .FlexibleLeftMargin, .FlexibleRightMargin, .FlexibleTopMargin] + if customDeleteButtonEdgeInsets != nil { + deleteButton.imageEdgeInsets = customCloseButtonEdgeInsets } } @@ -488,15 +433,7 @@ public class SKPhotoBrowser: UIViewController, UIScrollViewDelegate { } if displayDeleteButton { deleteButton.alpha = 1 - deleteButton.frame = deleteButtonShowFrame - } - if displayCustomCloseButton { - customCloseButton.alpha = 1 - customCloseButton.frame = customCloseButtonShowFrame - } - if displayCustomDeleteButton { - customDeleteButton.alpha = 1 - customDeleteButton.frame = customDeleteButtonShowFrame + deleteButton.frame = deleteButton.showFrame } } @@ -561,18 +498,6 @@ public class SKPhotoBrowser: UIViewController, UIScrollViewDelegate { /// This function changes buttons's frame after the rotation of the device private func frameForButton() { - if displayDeleteButton { - deleteButtonShowFrame = CGRect(x: view.frame.width - 44, y: buttonTopOffset, width: 44, height: 44) - deleteButtonHideFrame = CGRect(x: view.frame.width - 44, y: -20, width: 44, height: 44) - } - if displayCustomDeleteButton { - customDeleteButtonShowFrame = CGRect(x: customDeleteButtonShowFrame.origin.y, y: customDeleteButtonShowFrame.origin.x, width: customDeleteButtonShowFrame.width, height: customDeleteButtonShowFrame.height) - customDeleteButtonHideFrame = CGRect(x: customDeleteButtonHideFrame.origin.y, y: customDeleteButtonHideFrame.origin.x, width: customDeleteButtonHideFrame.width, height: customDeleteButtonHideFrame.height) - } - if displayCustomCloseButton { - customCloseButtonHideFrame = CGRect(x: customCloseButtonHideFrame.origin.y, y: customCloseButtonHideFrame.origin.x, width: customCloseButtonHideFrame.width, height: customCloseButtonHideFrame.height) - customCloseButtonShowFrame = CGRect(x: customCloseButtonShowFrame.origin.y, y: customCloseButtonShowFrame.origin.x, width: customCloseButtonShowFrame.width, height: customCloseButtonShowFrame.height) - } } // MARK: - delete function @@ -876,15 +801,7 @@ public class SKPhotoBrowser: UIViewController, UIScrollViewDelegate { } if self.displayDeleteButton { self.deleteButton.alpha = alpha - self.deleteButton.frame = hidden ? self.deleteButtonHideFrame : self.deleteButtonShowFrame - } - if self.displayCustomCloseButton { - self.customCloseButton.alpha = alpha - self.customCloseButton.frame = hidden ? self.customCloseButtonHideFrame : self.customCloseButtonShowFrame - } - if self.displayCustomDeleteButton { - self.customDeleteButton.alpha = alpha - self.customDeleteButton.frame = hidden ? self.customDeleteButtonHideFrame : self.customDeleteButtonShowFrame + self.deleteButton.frame = hidden ? self.deleteButton.hideFrame : self.deleteButton.showFrame } for captionView in captionViews { captionView.alpha = alpha diff --git a/SKPhotoBrowser/SKZoomingScrollView.swift b/SKPhotoBrowser/SKZoomingScrollView.swift index bcc9cef..8bf7675 100644 --- a/SKPhotoBrowser/SKZoomingScrollView.swift +++ b/SKPhotoBrowser/SKZoomingScrollView.swift @@ -271,14 +271,17 @@ public class SKZoomingScrollView: UIScrollView, UIScrollViewDelegate, SKDetectin // MARK: - SKDetectingViewDelegate func handleSingleTap(view: UIView, touch: UITouch) { - guard photoBrowser?.enableZoomBlackArea == true else { + guard let browser = photoBrowser else { + return + } + guard browser.enableZoomBlackArea == true else { return } - if photoBrowser?.areControlsHidden() == false && photoBrowser?.enableSingleTapDismiss == true { - photoBrowser?.determineAndClose() + if browser.areControlsHidden() == false && browser.enableSingleTapDismiss == true { + browser.determineAndClose() } else { - photoBrowser?.toggleControls() + browser.toggleControls() } }