Settings: Show the captioned WireGuard logo at the end
Signed-off-by: Roopesh Chander <roop@roopc.net>
This commit is contained in:
parent
09fbe93bf0
commit
66389c60b5
|
@ -18,6 +18,7 @@ class SettingsTableViewController: UITableViewController {
|
||||||
]
|
]
|
||||||
|
|
||||||
let tunnelsManager: TunnelsManager?
|
let tunnelsManager: TunnelsManager?
|
||||||
|
var wireguardCaptionedImage: (view: UIView, size: CGSize)? = nil
|
||||||
|
|
||||||
init(tunnelsManager: TunnelsManager?) {
|
init(tunnelsManager: TunnelsManager?) {
|
||||||
self.tunnelsManager = tunnelsManager
|
self.tunnelsManager = tunnelsManager
|
||||||
|
@ -38,6 +39,20 @@ class SettingsTableViewController: UITableViewController {
|
||||||
|
|
||||||
self.tableView.register(TunnelSettingsTableViewKeyValueCell.self, forCellReuseIdentifier: TunnelSettingsTableViewKeyValueCell.id)
|
self.tableView.register(TunnelSettingsTableViewKeyValueCell.self, forCellReuseIdentifier: TunnelSettingsTableViewKeyValueCell.id)
|
||||||
self.tableView.register(TunnelSettingsTableViewButtonCell.self, forCellReuseIdentifier: TunnelSettingsTableViewButtonCell.id)
|
self.tableView.register(TunnelSettingsTableViewButtonCell.self, forCellReuseIdentifier: TunnelSettingsTableViewButtonCell.id)
|
||||||
|
|
||||||
|
let wireguardCaptionedImage = UIImage(named: "wireguard.pdf", in: Bundle.main, compatibleWith: nil)!
|
||||||
|
let wireguardCaptionedImageView = UIImageView(image: wireguardCaptionedImage)
|
||||||
|
wireguardCaptionedImageView.contentMode = .scaleAspectFit
|
||||||
|
let wireguardCaptionedImageContainerView = UIView()
|
||||||
|
wireguardCaptionedImageContainerView.addSubview(wireguardCaptionedImageView)
|
||||||
|
wireguardCaptionedImageView.translatesAutoresizingMaskIntoConstraints = false
|
||||||
|
NSLayoutConstraint.activate([
|
||||||
|
wireguardCaptionedImageView.topAnchor.constraint(equalTo: wireguardCaptionedImageContainerView.layoutMarginsGuide.topAnchor),
|
||||||
|
wireguardCaptionedImageView.bottomAnchor.constraint(equalTo: wireguardCaptionedImageContainerView.layoutMarginsGuide.bottomAnchor),
|
||||||
|
wireguardCaptionedImageView.leftAnchor.constraint(equalTo: wireguardCaptionedImageContainerView.layoutMarginsGuide.leftAnchor),
|
||||||
|
wireguardCaptionedImageView.rightAnchor.constraint(equalTo: wireguardCaptionedImageContainerView.layoutMarginsGuide.rightAnchor),
|
||||||
|
])
|
||||||
|
self.wireguardCaptionedImage = (view: wireguardCaptionedImageContainerView, size: wireguardCaptionedImage.size)
|
||||||
}
|
}
|
||||||
|
|
||||||
@objc func doneTapped() {
|
@objc func doneTapped() {
|
||||||
|
@ -141,6 +156,17 @@ extension SettingsTableViewController {
|
||||||
return cell
|
return cell
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
|
||||||
|
guard (section == 1) else { return nil }
|
||||||
|
return self.wireguardCaptionedImage?.view
|
||||||
|
}
|
||||||
|
|
||||||
|
override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
|
||||||
|
guard (section == 1) else { return 0 }
|
||||||
|
guard let imageSize = self.wireguardCaptionedImage?.size else { return 0 }
|
||||||
|
return (min(tableView.bounds.width, 480) / imageSize.width) * imageSize.height
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class TunnelSettingsTableViewKeyValueCell: UITableViewCell {
|
class TunnelSettingsTableViewKeyValueCell: UITableViewCell {
|
||||||
|
|
Loading…
Reference in New Issue