Another attempt to fix empty URL bar
This commit is contained in:
@@ -9,9 +9,18 @@ import UIKit
|
||||
|
||||
class ToolbarView: UIView
|
||||
{
|
||||
var urlBar: URLBar? { didSet { containerView.addSubview(urlBar!) } }
|
||||
var urlBar: URLBar? {
|
||||
didSet {
|
||||
guard let urlBar else { return }
|
||||
containerView.addSubview(urlBar)
|
||||
|
||||
urlBar.textField.addAction(.init(handler: { [unowned self] _ in
|
||||
layoutLatch.activate()
|
||||
}), for: [ .editingDidBegin, .editingDidEnd ])
|
||||
}
|
||||
}
|
||||
|
||||
var cancelButtonVisible: Bool = false { didSet { layoutSubviews() } }
|
||||
var cancelButtonVisible: Bool = false { didSet { setNeedsLayout() } }
|
||||
|
||||
let containerView = UIView(frame: .zero)
|
||||
let backgroundView = GradientView(direction: .vertical, colors: [
|
||||
@@ -23,6 +32,9 @@ class ToolbarView: UIView
|
||||
let leadingButtonsView = ToolbarButtonContainerView(frame: .zero)
|
||||
let trailingButtonsView = ToolbarButtonContainerView(frame: .zero)
|
||||
|
||||
// Something I'm sure I'll regret: to ensure animation with the keyboard, latch layout until we get the right signal.
|
||||
lazy var layoutLatch = LayoutLatch(self)
|
||||
|
||||
convenience init()
|
||||
{
|
||||
self.init(frame: .zero)
|
||||
@@ -54,6 +66,7 @@ class ToolbarView: UIView
|
||||
|
||||
override func layoutSubviews()
|
||||
{
|
||||
guard !layoutLatch.latched else { return }
|
||||
super.layoutSubviews()
|
||||
|
||||
let shadowPath = UIBezierPath(rect: bounds)
|
||||
|
||||
Reference in New Issue
Block a user