Merge branch 'bugfix/link_line_rotate' into 'develop'

Underline didn't show when rotating

See merge request BPHV_MIPS/mvm_core_ui!663
This commit is contained in:
Pfeil, Scott Robert 2021-02-11 09:32:39 -05:00
commit 6515271b2f
2 changed files with 14 additions and 20 deletions

View File

@ -11,18 +11,18 @@ import UIKit
@objcMembers open class Link: Button {
//--------------------------------------------------
// MARK: - Lifecycle
// MARK: - Draw
//--------------------------------------------------
open override func draw(_ rect: CGRect) {
guard let textRect = titleLabel?.frame else { return }
let context = UIGraphicsGetCurrentContext()
guard let textRect = titleLabel?.frame,
let context = UIGraphicsGetCurrentContext()
else { return }
// Set line to the same color as the text
if let color = titleLabel?.textColor?.cgColor {
context?.setStrokeColor(color)
context.setStrokeColor(color)
}
// x should be according to the text, not the button
@ -31,9 +31,9 @@ import UIKit
// Line is 1 point below the text
let y = textRect.origin.y + textRect.size.height + 1
context?.move(to: CGPoint(x: x, y: y))
context?.addLine(to: CGPoint(x: x + textRect.size.width, y: y))
context?.strokePath()
context.move(to: CGPoint(x: x, y: y))
context.addLine(to: CGPoint(x: x + textRect.size.width, y: y))
context.strokePath()
}
open override var intrinsicContentSize: CGSize {
@ -67,16 +67,12 @@ extension Link {
open override func updateView(_ size: CGFloat) {
super.updateView(size)
DispatchQueue.main.async { [weak self] in
guard let self = self else { return }
var width = size
if MVMCoreGetterUtility.fequal(a: Float.leastNormalMagnitude, b: Float(size)) {
width = MVMCoreUIUtility.getWidth()
}
self.titleLabel?.font = MFStyler.fontB2(forWidth: width)
var width = size
if MVMCoreGetterUtility.fequal(a: Float.leastNormalMagnitude, b: Float(size)) {
width = MVMCoreUIUtility.getWidth()
}
titleLabel?.font = MFStyler.fontB2(forWidth: width)
}
open override func setupView() {

View File

@ -14,9 +14,7 @@ open class LinkModel: ButtonModelProtocol, MoleculeModelProtocol, EnableableMode
// MARK: - Properties
//--------------------------------------------------
public class var identifier: String {
return "link"
}
public class var identifier: String { "link" }
public var backgroundColor: Color?
public var accessibilityIdentifier: String?