From 66389c60b5c4506569d6fbfffedade273bf1562c Mon Sep 17 00:00:00 2001 From: Roopesh Chander Date: Sat, 3 Nov 2018 18:41:54 +0530 Subject: [PATCH] Settings: Show the captioned WireGuard logo at the end Signed-off-by: Roopesh Chander --- .../UI/iOS/SettingsTableViewController.swift | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/WireGuard/WireGuard/UI/iOS/SettingsTableViewController.swift b/WireGuard/WireGuard/UI/iOS/SettingsTableViewController.swift index 5a120a0..b3d8c21 100644 --- a/WireGuard/WireGuard/UI/iOS/SettingsTableViewController.swift +++ b/WireGuard/WireGuard/UI/iOS/SettingsTableViewController.swift @@ -18,6 +18,7 @@ class SettingsTableViewController: UITableViewController { ] let tunnelsManager: TunnelsManager? + var wireguardCaptionedImage: (view: UIView, size: CGSize)? = nil init(tunnelsManager: TunnelsManager?) { self.tunnelsManager = tunnelsManager @@ -38,6 +39,20 @@ class SettingsTableViewController: UITableViewController { self.tableView.register(TunnelSettingsTableViewKeyValueCell.self, forCellReuseIdentifier: TunnelSettingsTableViewKeyValueCell.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() { @@ -141,6 +156,17 @@ extension SettingsTableViewController { 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 {