From 1ed21aa60c7da78e2225a02d48340c0acca11e1a Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Sun, 4 Nov 2018 03:37:09 +0100 Subject: [PATCH] Settings: anchor logo to bottom --- .../UI/iOS/SettingsTableViewController.swift | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/WireGuard/WireGuard/UI/iOS/SettingsTableViewController.swift b/WireGuard/WireGuard/UI/iOS/SettingsTableViewController.swift index 09b0d77..badb571 100644 --- a/WireGuard/WireGuard/UI/iOS/SettingsTableViewController.swift +++ b/WireGuard/WireGuard/UI/iOS/SettingsTableViewController.swift @@ -42,10 +42,21 @@ class SettingsTableViewController: UITableViewController { let logo = UIImageView(image: UIImage(named: "wireguard.pdf", in: Bundle.main, compatibleWith: nil)!) logo.contentMode = .scaleAspectFit - //TODO(roopesh): limit size to 1.5 * rowheight, and anchor to bottom + let height = self.tableView.rowHeight * 1.5 + let width = height * logo.image!.size.width / logo.image!.size.height + logo.frame = CGRect(x: 0, y: 0, width: width, height: height) + logo.bounds = logo.frame.insetBy(dx: 2, dy: 2) self.tableView.tableFooterView = logo } + override func viewDidLayoutSubviews() { + super.viewDidLayoutSubviews() + guard let logo = self.tableView.tableFooterView else { return } + let fullHeight = max(self.tableView.contentSize.height, self.tableView.bounds.size.height - self.tableView.layoutMargins.top) + let e = logo.frame + let padding = CGFloat(10) + logo.frame = CGRect(x: e.minX, y: fullHeight - e.height - padding, width: e.width, height: e.height) + } @objc func doneTapped() { dismiss(animated: true, completion: nil)