Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Download button #294

Open
Wiwaltill opened this issue Oct 10, 2022 · 7 comments
Open

Download button #294

Wiwaltill opened this issue Oct 10, 2022 · 7 comments

Comments

@Wiwaltill
Copy link

It would be nice if there would be a download button at the Lightbox, which saves the opened image in the gallery.

@3lvis
Copy link
Collaborator

3lvis commented Oct 11, 2022

Hi @Wiwaltill,

Lightbox is currently in maintenance mode, no new features or additions are planned. Only bug fixes.

@Wiwaltill
Copy link
Author

Very sad. But thank you for the quick answer.

Maybe it is still possible to keep the idea in mind and include it in a possible further development.

@fukemy
Copy link

fukemy commented Feb 21, 2023

Hi, i added download + share button, do you still need this feature?

@Wiwaltill
Copy link
Author

Wiwaltill commented Feb 21, 2023

Yes! This function would definitely still be very useful. @fukemy

@fukemy
Copy link

fukemy commented Feb 22, 2023

@Wiwaltill just create the class extend LightBoxController then override init function like this:

 public override init(images: [LightboxImage], startIndex: Int = 0) {
        
        super.init(images: images, startIndex: startIndex)
        
        self.downloadButton = RoundButton(frame: CGRect(0, 0, 36, 36))
        self.downloadButton?.setImage(UIImage(named: "ic_download"), for: .normal)
        self.downloadButton?.rounded = true
        self.downloadButton?.backgroundColor = UIColor.white.withAlphaComponent(0.5)
        self.downloadButton!.addTarget(self, action: #selector(self.saveImageToLocal), for: .touchUpInside)
        self.footerView.addSubview(self.downloadButton!)
        self.downloadButton?.applyShadow(isApply: true)
        
        var frame = self.downloadButton!.frame
        frame.origin.x = UIScreen.main.bounds.width / 2 - 18 - 36
        frame.origin.y = 5
        self.downloadButton?.frame = frame
        
        self.shareButton = RoundButton(frame: CGRect(0, 0, 36, 36))
        self.shareButton?.setImage(UIImage(named: "ic_share"), for: .normal)
        self.shareButton?.rounded = true
        self.shareButton?.backgroundColor = UIColor.white.withAlphaComponent(0.5)
        self.shareButton!.addTarget(self, action: #selector(self.share), for: .touchUpInside)
        self.shareButton?.applyShadow(isApply: true)
        self.footerView.addSubview(self.shareButton!)
        
        var shareFrame = self.shareButton!.frame
        shareFrame.origin.x = UIScreen.main.bounds.width / 2 + 18
        shareFrame.origin.y = 5
        self.shareButton?.frame = shareFrame
        
    }

@Wiwaltill
Copy link
Author

@fukemy Thank you for the code. Unfortunately, I'm having a few problems - could you send me the code for the entire Swift file?
That would be very helpful.

@alvincrisuy
Copy link

For the others. I make it work by the following code from @fukemy

`import UIKit
import Lightbox

class LightBoxVC: LightboxController {

lazy var downloadButton: UIButton! = {
    let downloadButton = UIButton(frame: CGRect(x: 0, y: 0, width: 36, height: 36))
    downloadButton.backgroundColor = UIColor.white.withAlphaComponent(0.5)
    downloadButton.setImage(UIImage(named: "download"), for: .normal)
    downloadButton.addTarget(self, action: #selector(self.saveImageToLocal), for: .touchUpInside)
    return downloadButton
}()

public override init(images: [LightboxImage], startIndex: Int = 0) {
       
   super.init(images: images, startIndex: startIndex)
   
   self.footerView.addSubview(self.downloadButton!)
   
   var frame = self.downloadButton!.frame
   frame.origin.x = UIScreen.main.bounds.width / 2 - 18 - 36
   frame.origin.y = 5
   self.downloadButton?.frame = frame

}

required init?(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
}

@objc func saveImageToLocal() {
    print("saveImageToLocal")
}

}`

IMG_7050

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants