updated samples

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2024-06-28 18:09:57 -05:00
parent 5ffea5050a
commit 2b978ffd03
2 changed files with 113 additions and 62 deletions

View File

@ -115,54 +115,77 @@ class TileContainerViewController: BaseViewController<TileContainer> {
override func viewDidLoad() {
super.viewDidLoad()
addContentTopView(view: .makeWrapper(for: component))
component.width = 300
let mainView = View()
mainView.backgroundColor = .purple
///top
let topView = View()
topView.backgroundColor = .yellow
let topLabel = Label()
topLabel.text = "Do you want to Register?"
let topButton = Button()
topButton.setTitle("Register", for: .normal)
///bottom
let bottomView = View()
bottomView.backgroundColor = .green
let bottomLabel = Label()
bottomLabel.text = "Forgot your info?"
let bottomButton = Button()
bottomButton.setTitle("Forgot Password", for: .normal)
mainView.addSubview(topView)
mainView.addSubview(bottomView)
topView.addSubview(topLabel)
topView.addSubview(topButton)
bottomView.addSubview(bottomLabel)
bottomView.addSubview(bottomButton)
let space: CGFloat = 5
topView
.pinTop(space*2)
.pinLeading(space*2)
.pinTrailing(space*2)
.pinBottom(anchor: bottomView.topAnchor, constant: space*2)
topLabel
.pinTop(space)
.pinLeading(space)
.pinTrailing(space)
.pinBottom(anchor: topButton.topAnchor, constant: space)
topButton
.pinBottom(space)
.pinLeading(space)
.pinTrailingLessThanOrEqualTo(anchor: nil, constant: space)
bottomView
.pinLeading(space*2)
.pinTrailing(space*2)
.pinBottom(space*2)
bottomLabel
.pinTop(space)
.pinLeading(space)
.pinTrailing(space)
.pinBottom(anchor: bottomButton.topAnchor, constant: space)
bottomButton
.pinBottom(space)
.pinLeading(space)
.pinTrailingLessThanOrEqualTo(anchor: nil, constant: space)
component.color = .secondary
component.accessibilityLabel = "Tile Container"
let level2View = View()
level2View.backgroundColor = .purple
let level3View = View()
level3View.backgroundColor = .yellow
level2View.addSubview(level3View)
level3View.pinToSuperView(.uniform(15))
let level2label = Label()
level2label.text = "Do you want to Register?"
level3View.addSubview(level2label)
level2label.pinTop().pinLeading()
let level3Button = Button()
level3Button.setTitle("Register", for: .normal)
level3View.addSubview(level3Button)
level3Button.pinTop(anchor: level2label.bottomAnchor, constant: 5)
level3Button.pinLeading()
let level4View = View()
level4View.backgroundColor = .green
level3View.addSubview(level4View)
level4View.pinTop(anchor: level3Button.bottomAnchor, constant: 10)
level4View.pinLeading()
level4View.pinBottom()
level4View.pinTrailing()
let level4Label = Label()
level4Label.text = "Forgot your info?"
level4View.addSubview(level4Label)
level4Label.pinTop().pinLeading()
let level4Button = Button()
level4Button.setTitle("Forgot Password", for: .normal)
level4View.addSubview(level4Button)
level4Button.pinTop(anchor: level4Label.bottomAnchor, constant: 5)
level4Button.pinLeading().pinBottom()
component.addContentView(level2View)
addContentTopView(view: .makeWrapper(for: component))
component.addContentView(mainView)
setupPicker()
setupModel()
}
@ -248,20 +271,34 @@ class TileContainerViewController: BaseViewController<TileContainer> {
heightTextField
.numberPublisher
.sink { [weak self] number in
guard let self else { return }
if let value = number?.cgFloatValue, value >= 100 && value < self.view.frame.height * 0.65 {
self.component.height = value
self.component.layoutIfNeeded()
guard let self, let number = number?.cgFloatValue else {
self?.heightTextField.text = ""
return
}
if number >= 100 && number < self.view.frame.height * 0.65 {
self.component.height = number
} else {
self.component.height = nil
}
if let val = heightTextField.text, val.count > 2, number < 100 {
heightTextField.text = ""
}
}.store(in: &subscribers)
widthTextField
.numberPublisher
.sink { [weak self] number in
guard let self else { return }
if let value = number?.cgFloatValue, value >= 100 && value < self.view.frame.width * 0.85 {
self.component.width = value
self.component.layoutIfNeeded()
guard let self, let number = number?.cgFloatValue else {
self?.widthTextField.text = ""
return
}
if number >= 100 && number < self.view.frame.width * 0.85 {
self.component.width = number
} else {
self.component.width = nil
}
if let val = widthTextField.text, val.count > 2, number < 100 {
widthTextField.text = ""
}
}.store(in: &subscribers)
}

View File

@ -440,20 +440,34 @@ class TileletViewController: BaseViewController<Tilelet> {
heightTextField
.numberPublisher
.sink { [weak self] number in
guard let self else { return }
if let value = number?.cgFloatValue, value >= 100 && value < self.view.frame.height * 0.65 {
self.component.height = value
self.component.layoutIfNeeded()
guard let self, let number = number?.cgFloatValue else {
self?.heightTextField.text = ""
return
}
if number >= 100 && number < self.view.frame.height * 0.65 {
self.component.height = number
} else {
self.component.height = nil
}
if let val = heightTextField.text, val.count > 2, number < 100 {
heightTextField.text = ""
}
}.store(in: &subscribers)
widthTextField
.numberPublisher
.sink { [weak self] number in
guard let self else { return }
if let value = number?.cgFloatValue, value >= 100 && value < self.view.frame.width * 0.85 {
self.component.width = value
self.component.layoutIfNeeded()
guard let self, let number = number?.cgFloatValue else {
self?.widthTextField.text = ""
return
}
if number >= 100 && number < self.view.frame.width * 0.85 {
self.component.width = number
} else {
self.component.width = nil
}
if let val = widthTextField.text, val.count > 2, number < 100 {
widthTextField.text = ""
}
}.store(in: &subscribers)