Open Wiwaltill opened 1 year ago
Hi @Wiwaltill,
Lightbox is currently in maintenance mode, no new features or additions are planned. Only bug fixes.
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.
Hi, i added download + share button, do you still need this feature?
Yes! This function would definitely still be very useful. @fukemy
@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
}
@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.
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")
}
}`
It would be nice if there would be a download button at the Lightbox, which saves the opened image in the gallery.