From 491301f58b7c6746b5c694f9c7932d6d3c138c56 Mon Sep 17 00:00:00 2001 From: Andrej Mihajlov Date: Wed, 23 Dec 2020 16:03:01 +0100 Subject: [PATCH] UI: iOS: Fix placeholder label alignment in text fields. Signed-off-by: Andrej Mihajlov --- Sources/WireGuardApp/UI/iOS/View/KeyValueCell.swift | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Sources/WireGuardApp/UI/iOS/View/KeyValueCell.swift b/Sources/WireGuardApp/UI/iOS/View/KeyValueCell.swift index f99e3ea..70b97c8 100644 --- a/Sources/WireGuardApp/UI/iOS/View/KeyValueCell.swift +++ b/Sources/WireGuardApp/UI/iOS/View/KeyValueCell.swift @@ -27,7 +27,7 @@ class KeyValueCell: UITableViewCell { }() let valueTextField: UITextField = { - let valueTextField = UITextField() + let valueTextField = KeyValueCellTextField() valueTextField.textAlignment = .right valueTextField.isEnabled = false valueTextField.font = UIFont.preferredFont(forTextStyle: .body) @@ -234,3 +234,10 @@ extension KeyValueCell: UITextFieldDelegate { } } + +class KeyValueCellTextField: UITextField { + override func placeholderRect(forBounds bounds: CGRect) -> CGRect { + // UIKit renders the placeholder label 0.5pt higher + return super.placeholderRect(forBounds: bounds).integral.offsetBy(dx: 0, dy: -0.5) + } +}