Fix passcode layout

This commit is contained in:
Ali
2019-11-04 19:44:25 +04:00
parent 78d7745877
commit 2e2fc91cc2
6 changed files with 68 additions and 28 deletions

View File

@@ -3,18 +3,23 @@ import UIKit
import Display
struct PasscodeKeyboardLayout {
let buttonSize: CGFloat
let horizontalSecond: CGFloat
let horizontalThird: CGFloat
let verticalSecond: CGFloat
let verticalThird: CGFloat
let verticalFourth: CGFloat
let size: CGSize
let topOffset: CGFloat
let biometricsOffset: CGFloat
let deleteOffset: CGFloat
var buttonSize: CGFloat
var horizontalSecond: CGFloat
var horizontalThird: CGFloat
var verticalSecond: CGFloat
var verticalThird: CGFloat
var verticalFourth: CGFloat
var size: CGSize
var topOffset: CGFloat
var biometricsOffset: CGFloat
var deleteOffset: CGFloat
fileprivate init(layout: ContainerViewLayout) {
fileprivate init(layout: ContainerViewLayout, modalPresentation: Bool) {
var modalOffset: CGFloat = 0.0
if modalPresentation {
modalOffset -= 20.0
}
switch layout.deviceMetrics {
case .iPhone4:
self.buttonSize = 75.0
@@ -105,20 +110,28 @@ struct PasscodeKeyboardLayout {
self.biometricsOffset = 30.0
self.deleteOffset = 20.0
}
self.topOffset += modalOffset * 2.0
self.biometricsOffset += modalOffset
}
}
public struct PasscodeLayout {
let layout: ContainerViewLayout
let keyboard: PasscodeKeyboardLayout
let titleOffset: CGFloat
let subtitleOffset: CGFloat
let inputFieldOffset: CGFloat
var layout: ContainerViewLayout
var keyboard: PasscodeKeyboardLayout
var titleOffset: CGFloat
var subtitleOffset: CGFloat
var inputFieldOffset: CGFloat
init(layout: ContainerViewLayout) {
init(layout: ContainerViewLayout, modalPresentation: Bool) {
self.layout = layout
self.keyboard = PasscodeKeyboardLayout(layout: layout)
var modalOffset: CGFloat = 0.0
if modalPresentation {
modalOffset -= 20.0
}
self.keyboard = PasscodeKeyboardLayout(layout: layout, modalPresentation: modalPresentation)
switch layout.deviceMetrics {
case .iPhone4:
self.titleOffset = 30.0
@@ -153,11 +166,15 @@ public struct PasscodeLayout {
self.subtitleOffset = 0.0
self.inputFieldOffset = 140.0
}
self.titleOffset += modalOffset
self.subtitleOffset += modalOffset
self.inputFieldOffset += modalOffset
}
public init(layout: ContainerViewLayout, titleOffset: CGFloat, subtitleOffset: CGFloat, inputFieldOffset: CGFloat) {
public init(layout: ContainerViewLayout, titleOffset: CGFloat, subtitleOffset: CGFloat, inputFieldOffset: CGFloat, modalPresentation: Bool) {
self.layout = layout
self.keyboard = PasscodeKeyboardLayout(layout: layout)
self.keyboard = PasscodeKeyboardLayout(layout: layout, modalPresentation: modalPresentation)
self.titleOffset = titleOffset
self.subtitleOffset = subtitleOffset
self.inputFieldOffset = inputFieldOffset