COVIDSafe code from version 1.6 (#6)

This commit is contained in:
COVIDSafe Support 2020-06-19 17:43:33 +10:00 committed by GitHub
parent 149daee2e9
commit 2063cea613
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
38 changed files with 1963 additions and 1664 deletions

View file

@ -0,0 +1,93 @@
//
// UILocalization.swift
// CovidSafe
//
// Copyright © 2020 Australian Government. All rights reserved.
//
import UIKit
import Foundation
extension UILabel {
static var localizedKey:UInt8 = 0
@IBInspectable public var localizationKey: String? {
set {
objc_setAssociatedObject(self, &UILabel.localizedKey, newValue, .OBJC_ASSOCIATION_RETAIN)
}
get {
return objc_getAssociatedObject(self, &UILabel.localizedKey) as? String
}
}
open override func awakeFromNib() {
super.awakeFromNib()
guard let localizationKey = self.localizationKey, localizationKey != localizationKey.localizedString() else {
return
}
self.text = localizationKey.localizedString()
}
}
extension UITextView {
static var localizedKey:UInt8 = 0
@IBInspectable public var localizationKey: String? {
set {
objc_setAssociatedObject(self, &UITextView.localizedKey, newValue, .OBJC_ASSOCIATION_RETAIN)
}
get {
return objc_getAssociatedObject(self, &UITextView.localizedKey) as? String
}
}
open override func awakeFromNib() {
super.awakeFromNib()
guard let localizationKey = self.localizationKey, localizationKey != localizationKey.localizedString() else {
return
}
self.text = localizationKey.localizedString()
}
}
extension UITextField {
static var localizedKey:UInt8 = 0
@IBInspectable public var localizationKey: String? {
set {
objc_setAssociatedObject(self, &UITextView.localizedKey, newValue, .OBJC_ASSOCIATION_RETAIN)
}
get {
return objc_getAssociatedObject(self, &UITextView.localizedKey) as? String
}
}
open override func awakeFromNib() {
super.awakeFromNib()
guard let localizationKey = self.localizationKey, localizationKey != localizationKey.localizedString() else {
return
}
self.placeholder = localizationKey.localizedString()
}
}
extension UIButton {
static var localizedKey:UInt8 = 0
@IBInspectable public var localizationKey: String? {
set {
objc_setAssociatedObject(self, &UITextView.localizedKey, newValue, .OBJC_ASSOCIATION_RETAIN)
}
get {
return objc_getAssociatedObject(self, &UITextView.localizedKey) as? String
}
}
open override func awakeFromNib() {
super.awakeFromNib()
guard let localizationKey = self.localizationKey, localizationKey != localizationKey.localizedString() else {
return
}
self.setTitle(localizationKey.localizedString(), for: .normal)
}
}