From 3d46160ef1cff2e0be2dc72bf81360d52ae13246 Mon Sep 17 00:00:00 2001 From: Ryan Park Date: Mon, 5 Sep 2016 12:20:01 +0100 Subject: [PATCH] Added size parameter to updateDeleteButton/updateCloseButton methods. Added updateFrameSize method to SKButton to allow for button size changes. --- SKPhotoBrowser/SKButtons.swift | 24 ++++++++++++++++++------ SKPhotoBrowser/SKPhotoBrowser.swift | 14 +++++++++++--- 2 files changed, 29 insertions(+), 9 deletions(-) diff --git a/SKPhotoBrowser/SKButtons.swift b/SKPhotoBrowser/SKButtons.swift index 20834f4..0de3c31 100644 --- a/SKPhotoBrowser/SKButtons.swift +++ b/SKPhotoBrowser/SKButtons.swift @@ -34,8 +34,15 @@ class SKButton: UIButton { inBundle: bundle, compatibleWithTraitCollection: nil) ?? UIImage() setImage(image, forState: .Normal) } - - func updateFrame() {} + + func updateFrame() { } + + func setFrameSize(size: CGSize) { + let newRect = CGRect(x: margin, y: buttonTopOffset, width: size.width, height: size.height) + self.frame = newRect + showFrame = newRect + hideFrame = CGRect(x: margin, y: -20, width: size.width, height: size.height) + } } class SKCloseButton: SKButton { @@ -64,12 +71,17 @@ class SKDeleteButton: SKButton { override init(frame: CGRect) { super.init(frame: frame) setup(imageName) - showFrame = CGRect(x: SKMesurement.screenWidth - size.width, y: buttonTopOffset, - width: size.width, height: size.height) - hideFrame = CGRect(x: SKMesurement.screenWidth - size.width, y: -20, - width: size.width, height: size.height) + showFrame = CGRect(x: SKMesurement.screenWidth - size.width, y: buttonTopOffset, width: size.width, height: size.height) + hideFrame = CGRect(x: SKMesurement.screenWidth - size.width, y: -20, width: size.width, height: size.height) } override func updateFrame() { } + + override func setFrameSize(size: CGSize) { + let newRect = CGRect(x: SKMesurement.screenWidth - size.width, y: buttonTopOffset, width: size.width, height: size.height) + self.frame = newRect + showFrame = newRect + hideFrame = CGRect(x: SKMesurement.screenWidth - size.width, y: -20, width: size.width, height: size.height) + } } diff --git a/SKPhotoBrowser/SKPhotoBrowser.swift b/SKPhotoBrowser/SKPhotoBrowser.swift index ffd5a7f..243409d 100644 --- a/SKPhotoBrowser/SKPhotoBrowser.swift +++ b/SKPhotoBrowser/SKPhotoBrowser.swift @@ -222,18 +222,26 @@ public class SKPhotoBrowser: UIViewController { // MARK: - Public Function For Customizing Buttons public extension SKPhotoBrowser { - func updateCloseButton(image: UIImage) { + func updateCloseButton(image: UIImage, size: CGSize? = nil) { if closeButton == nil { configureCloseButton() } closeButton.setImage(image, forState: .Normal) - } - func updateDeleteButton(image: UIImage) { + if let size = size { + closeButton.setFrameSize(size) + } + } + + func updateDeleteButton(image: UIImage, size: CGSize? = nil) { if deleteButton == nil { configureDeleteButton() } deleteButton.setImage(image, forState: .Normal) + + if let size = size { + deleteButton.setFrameSize(size) + } } }