mirror of
https://github.com/LeoNatan/LNPopupController.git
synced 2026-07-30 16:11:51 +00:00
65 lines
2.3 KiB
Swift
65 lines
2.3 KiB
Swift
//
|
|
// ManualLayoutCustomBarViewController.swift
|
|
// LNPopupControllerExample
|
|
//
|
|
// Created by Leo Natan on 9/1/20.
|
|
// Copyright © 2015-2021 Leo Natan. All rights reserved.
|
|
//
|
|
|
|
#if LNPOPUP
|
|
@objc public class ManualLayoutCustomBarViewController: LNPopupCustomBarViewController {
|
|
let centeredButton = UIButton(type: .system)
|
|
let leftButton = UIButton(type: .system)
|
|
let backgroundView = UIVisualEffectView(effect: UIBlurEffect(style: .extraLight))
|
|
|
|
public override func viewDidLoad() {
|
|
super.viewDidLoad()
|
|
|
|
view.autoresizingMask = []
|
|
|
|
backgroundView.layer.masksToBounds = true
|
|
backgroundView.layer.cornerRadius = 15
|
|
view.addSubview(backgroundView)
|
|
|
|
centeredButton.setTitle(NSLocalizedString("Centered", comment: ""), for: .normal)
|
|
centeredButton.titleLabel?.font = UIFont.preferredFont(forTextStyle: .headline)
|
|
centeredButton.sizeToFit()
|
|
view.addSubview(centeredButton)
|
|
|
|
leftButton.setTitle("<- \(NSLocalizedString("Left", comment: ""))", for: .normal)
|
|
leftButton.titleLabel?.font = UIFont.preferredFont(forTextStyle: .headline)
|
|
leftButton.sizeToFit()
|
|
view.addSubview(leftButton)
|
|
|
|
preferredContentSize = CGSize(width: 0, height: 50)
|
|
}
|
|
|
|
public override func viewDidLayoutSubviews() {
|
|
super.viewDidLayoutSubviews()
|
|
|
|
let insetLeft = CGFloat.maximum(view.safeAreaInsets.left, 20)
|
|
let insetRight = CGFloat.maximum(view.safeAreaInsets.right, 20)
|
|
|
|
backgroundView.frame = CGRect(x: insetLeft, y: 2, width: view.bounds.width - insetLeft - insetRight, height: view.bounds.height - 4)
|
|
centeredButton.center = backgroundView.center
|
|
if UIView.userInterfaceLayoutDirection(for: view.semanticContentAttribute) == .leftToRight {
|
|
leftButton.frame = CGRect(x: insetLeft + 20, y: backgroundView.center.y - leftButton.bounds.size.height / 2, width: leftButton.bounds.size.width, height: leftButton.bounds.size.height)
|
|
} else {
|
|
leftButton.frame = CGRect(x: view.bounds.width - insetRight - leftButton.bounds.width - 20, y: backgroundView.center.y - leftButton.bounds.size.height / 2, width: leftButton.bounds.size.width, height: leftButton.bounds.size.height)
|
|
}
|
|
}
|
|
|
|
public override var wantsDefaultTapGestureRecognizer: Bool {
|
|
return false
|
|
}
|
|
|
|
public override var wantsDefaultPanGestureRecognizer: Bool {
|
|
return false
|
|
}
|
|
|
|
public override var wantsDefaultHighlightGestureRecognizer: Bool {
|
|
return false
|
|
}
|
|
}
|
|
#endif
|