mirror of
https://github.com/AU-COVIDSafe/mobile-ios.git
synced 2025-06-03 19:15:18 +00:00
COVIDSafe code from version 1.1
This commit is contained in:
commit
3640e52eb2
330 changed files with 261540 additions and 0 deletions
42
CovidSafe/UIElements/GradientButton.swift
Normal file
42
CovidSafe/UIElements/GradientButton.swift
Normal file
|
@ -0,0 +1,42 @@
|
|||
//
|
||||
// GradientButton.swift
|
||||
// CovidSafe
|
||||
//
|
||||
// Copyright © 2020 Australian Government. All rights reserved.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
@IBDesignable
|
||||
class GradientButton: UIButton {
|
||||
let gradientLayer = CAGradientLayer()
|
||||
|
||||
@IBInspectable
|
||||
var topGradientColor: UIColor?
|
||||
|
||||
@IBInspectable
|
||||
var bottomGradientColor: UIColor?
|
||||
|
||||
private func setGradient(topGradientColor: UIColor?, bottomGradientColor: UIColor?) {
|
||||
if let topGradientColor = topGradientColor, let bottomGradientColor = bottomGradientColor {
|
||||
gradientLayer.frame = bounds
|
||||
gradientLayer.colors = [topGradientColor.cgColor, bottomGradientColor.cgColor]
|
||||
gradientLayer.borderColor = layer.borderColor
|
||||
gradientLayer.borderWidth = layer.borderWidth
|
||||
gradientLayer.cornerRadius = layer.cornerRadius
|
||||
gradientLayer.startPoint = CGPoint(x: 0, y: 0)
|
||||
gradientLayer.endPoint = CGPoint(x: 1, y: 0)
|
||||
gradientLayer.locations = [0.0, 1.0]
|
||||
layer.insertSublayer(gradientLayer, at: 0)
|
||||
} else {
|
||||
gradientLayer.removeFromSuperlayer()
|
||||
}
|
||||
}
|
||||
|
||||
override func layoutSubviews() {
|
||||
super.layoutSubviews()
|
||||
|
||||
setGradient(topGradientColor: topGradientColor, bottomGradientColor: bottomGradientColor)
|
||||
}
|
||||
|
||||
}
|
12
CovidSafe/UIElements/UILabelExtension.swift
Normal file
12
CovidSafe/UIElements/UILabelExtension.swift
Normal file
|
@ -0,0 +1,12 @@
|
|||
import UIKit
|
||||
|
||||
extension UILabel {
|
||||
func semiBold(text: String) {
|
||||
guard let lblTxt = self.text,
|
||||
let range = lblTxt.range(of: text) else { return }
|
||||
let nsRange = NSRange(range, in: lblTxt)
|
||||
let attrString = NSMutableAttributedString(string: lblTxt)
|
||||
attrString.addAttribute(NSAttributedString.Key.font, value: UIFont.systemFont(ofSize: 16, weight: .semibold), range: nsRange)
|
||||
self.attributedText = attrString
|
||||
}
|
||||
}
|
23
CovidSafe/UIElements/UITextViewFixed.swift
Normal file
23
CovidSafe/UIElements/UITextViewFixed.swift
Normal file
|
@ -0,0 +1,23 @@
|
|||
//
|
||||
// UITextViewFixed.swift
|
||||
// CovidSafe
|
||||
//
|
||||
// Copyright © 2020 Australian Government. All rights reserved.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
@IBDesignable
|
||||
class UITextViewFixed: UITextView {
|
||||
|
||||
override func layoutSubviews() {
|
||||
super.layoutSubviews()
|
||||
setup()
|
||||
}
|
||||
|
||||
func setup() {
|
||||
textContainerInset = UIEdgeInsets.zero
|
||||
textContainer.lineFragmentPadding = 0
|
||||
}
|
||||
|
||||
}
|
95
CovidSafe/UIElements/UIViewExtension.swift
Normal file
95
CovidSafe/UIElements/UIViewExtension.swift
Normal file
|
@ -0,0 +1,95 @@
|
|||
//
|
||||
// UIViewExtension.swift
|
||||
// CovidSafe
|
||||
//
|
||||
// Copyright © 2020 Australian Government. All rights reserved.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
extension UIView {
|
||||
|
||||
@IBInspectable
|
||||
var cornerRadius: CGFloat {
|
||||
get {
|
||||
return layer.cornerRadius
|
||||
}
|
||||
set {
|
||||
layer.cornerRadius = newValue
|
||||
}
|
||||
}
|
||||
|
||||
@IBInspectable
|
||||
var borderWidth: CGFloat {
|
||||
get {
|
||||
return layer.borderWidth
|
||||
}
|
||||
set {
|
||||
layer.borderWidth = newValue
|
||||
}
|
||||
}
|
||||
|
||||
@IBInspectable
|
||||
var borderColor: UIColor? {
|
||||
get {
|
||||
if let color = layer.borderColor {
|
||||
return UIColor(cgColor: color)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
set {
|
||||
if let color = newValue {
|
||||
layer.borderColor = color.cgColor
|
||||
} else {
|
||||
layer.borderColor = nil
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@IBInspectable
|
||||
var shadowRadius: CGFloat {
|
||||
get {
|
||||
return layer.shadowRadius
|
||||
}
|
||||
set {
|
||||
layer.shadowRadius = newValue
|
||||
}
|
||||
}
|
||||
|
||||
@IBInspectable
|
||||
var shadowOpacity: Float {
|
||||
get {
|
||||
return layer.shadowOpacity
|
||||
}
|
||||
set {
|
||||
layer.shadowOpacity = newValue
|
||||
}
|
||||
}
|
||||
|
||||
@IBInspectable
|
||||
var shadowOffset: CGSize {
|
||||
get {
|
||||
return layer.shadowOffset
|
||||
}
|
||||
set {
|
||||
layer.shadowOffset = newValue
|
||||
}
|
||||
}
|
||||
|
||||
@IBInspectable
|
||||
var shadowColor: UIColor? {
|
||||
get {
|
||||
if let color = layer.shadowColor {
|
||||
return UIColor(cgColor: color)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
set {
|
||||
if let color = newValue {
|
||||
layer.shadowColor = color.cgColor
|
||||
} else {
|
||||
layer.shadowColor = nil
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue