Switch molecule
This commit is contained in:
parent
9f5600a0f3
commit
9fd2d2cbda
@ -11,6 +11,7 @@ import UIKit
|
|||||||
@objcMembers public class Switch: ViewConstrainingView, FormValidationProtocol{
|
@objcMembers public class Switch: ViewConstrainingView, FormValidationProtocol{
|
||||||
public var mvmSwitch = MVMCoreUISwitch()
|
public var mvmSwitch = MVMCoreUISwitch()
|
||||||
public var label = Label()
|
public var label = Label()
|
||||||
|
public var leftContainerView = UIView()
|
||||||
public var mfTextButton = MFTextButton()
|
public var mfTextButton = MFTextButton()
|
||||||
var topConstraint_Switch: NSLayoutConstraint?
|
var topConstraint_Switch: NSLayoutConstraint?
|
||||||
var bottomConstraint_textBtn: NSLayoutConstraint?
|
var bottomConstraint_textBtn: NSLayoutConstraint?
|
||||||
@ -28,9 +29,11 @@ import UIKit
|
|||||||
open override func setupView() {
|
open override func setupView() {
|
||||||
super.setupView()
|
super.setupView()
|
||||||
mvmSwitch.addTarget(self, action: #selector(Switch.switchChanged), for: .valueChanged)
|
mvmSwitch.addTarget(self, action: #selector(Switch.switchChanged), for: .valueChanged)
|
||||||
|
//leftContainerView.addSubview(mvmSwitch)
|
||||||
|
leftContainerView.addSubview(label)
|
||||||
|
leftContainerView.addSubview(mfTextButton)
|
||||||
|
addSubview(leftContainerView)
|
||||||
addSubview(mvmSwitch)
|
addSubview(mvmSwitch)
|
||||||
addSubview(label)
|
|
||||||
addSubview(mfTextButton)
|
|
||||||
// label.translatesAutoresizingMaskIntoConstraints = false
|
// label.translatesAutoresizingMaskIntoConstraints = false
|
||||||
mvmSwitch.translatesAutoresizingMaskIntoConstraints = false
|
mvmSwitch.translatesAutoresizingMaskIntoConstraints = false
|
||||||
mfTextButton.translatesAutoresizingMaskIntoConstraints = false;
|
mfTextButton.translatesAutoresizingMaskIntoConstraints = false;
|
||||||
@ -71,28 +74,40 @@ import UIKit
|
|||||||
}
|
}
|
||||||
// mvmSwitch.isOn = json?.optionalBoolForKey("state") ?? false
|
// mvmSwitch.isOn = json?.optionalBoolForKey("state") ?? false
|
||||||
mvmSwitch.setState(json?.optionalBoolForKey("state") ?? false, animated: true)
|
mvmSwitch.setState(json?.optionalBoolForKey("state") ?? false, animated: true)
|
||||||
updateContraints()
|
// updateContraints(json?.optionalDictionaryForKey("textButton"))
|
||||||
}
|
leftContainerView.backgroundColor = .red
|
||||||
|
|
||||||
func updateContraints() {
|
|
||||||
if let isEmptyText = label.text?.isEmpty,isEmptyText == false {
|
|
||||||
topConstraint_Switch?.priority = UILayoutPriority(rawValue:249)
|
|
||||||
NSLayoutConstraint.constraintPinSubview(mvmSwitch, pinCenterX: false, pinCenterY: true)
|
|
||||||
_ = NSLayoutConstraint(pinFirstView: mvmSwitch, toSecondView: mfTextButton, withConstant: PaddingOne, directionVertical: true)
|
|
||||||
}
|
|
||||||
layoutIfNeeded()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func setupConstraints() {
|
func setupConstraints() {
|
||||||
NSLayoutConstraint.constraintPinLeftSubview(label, leftConstant: 0)
|
var constraint = label.topAnchor.constraint(equalTo: topAnchor)
|
||||||
NSLayoutConstraint.constraintPinSubview(mvmSwitch, pinCenterX: false, pinCenterY: true)
|
constraint.priority = UILayoutPriority(rawValue: 249)
|
||||||
let dict = NSLayoutConstraint.constraintPinSubview(mvmSwitch, pinTop: true, topConstant: 0, topRelation: .greaterThanOrEqual, pinBottom: true, bottomConstant: 0, bottomRelation: .greaterThanOrEqual, pinLeft: false, leftConstant: 0, leftRelation: .equal, pinRight: true, rightConstant: 0, rightRelation: .greaterThanOrEqual)
|
constraint.isActive = true
|
||||||
topConstraint_Switch = dict?[ConstraintTop] as? NSLayoutConstraint
|
label.topAnchor.constraint(greaterThanOrEqualTo: topAnchor).isActive = true
|
||||||
|
label.leadingAnchor.constraint(equalTo: leadingAnchor).isActive = true
|
||||||
|
NSLayoutConstraint.constraintPinSubview(mvmSwitch, pinCenterX: false, pinCenterY: true)
|
||||||
|
let _ = NSLayoutConstraint.constraintPinSubview(mvmSwitch, pinTop: true, topConstant: 0, topRelation: .greaterThanOrEqual, pinBottom: true, bottomConstant: 0, bottomRelation: .greaterThanOrEqual, pinLeft: false, leftConstant: 0, leftRelation: .equal, pinRight: true, rightConstant: 0, rightRelation: .equal)
|
||||||
|
// NSLayoutConstraint.constraintPinRightSubview(mvmSwitch, rightConstant: 0)
|
||||||
|
constraint = mvmSwitch.topAnchor.constraint(equalTo: topAnchor)
|
||||||
|
constraint.priority = UILayoutPriority(rawValue: 249)
|
||||||
|
constraint.isActive = true
|
||||||
|
constraint = bottomAnchor.constraint(equalTo: mvmSwitch.bottomAnchor)
|
||||||
|
constraint.priority = UILayoutPriority(rawValue: 249)
|
||||||
|
constraint.isActive = true
|
||||||
|
//topConstraint_Switch = dict?[ConstraintTop] as? NSLayoutConstraint
|
||||||
NSLayoutConstraint.constraintPinTopSubview(label, topConstant: 0)
|
NSLayoutConstraint.constraintPinTopSubview(label, topConstant: 0)
|
||||||
_ = NSLayoutConstraint(pinFirstView: label, toSecondView: mvmSwitch, withConstant: PaddingOne, directionVertical: false)
|
|
||||||
_ = NSLayoutConstraint(pinFirstView: label, toSecondView: mfTextButton, withConstant: PaddingOne, directionVertical: true)
|
// mvmSwitch.setContentHuggingPriority(UILayoutPriority(rawValue: 800), for: NSLayoutConstraint.Axis.horizontal)
|
||||||
NSLayoutConstraint.constraintPinLeftSubview(mfTextButton, leftConstant: 0)
|
|
||||||
NSLayoutConstraint.constraintPinBottomSubview(mfTextButton, bottomConstant: 0)
|
mvmSwitch.leadingAnchor.constraint(greaterThanOrEqualTo: label.trailingAnchor).isActive = true
|
||||||
|
mvmSwitch.leadingAnchor.constraint(greaterThanOrEqualTo: mfTextButton.trailingAnchor).isActive = true
|
||||||
|
NSLayoutConstraint.constraintPinLeftSubview(mfTextButton, leftConstant: 0)
|
||||||
|
constraint = bottomAnchor.constraint(equalTo: mfTextButton.bottomAnchor)
|
||||||
|
constraint.priority = UILayoutPriority(249)
|
||||||
|
constraint.isActive = true
|
||||||
|
bottomAnchor.constraint(greaterThanOrEqualTo: mfTextButton.bottomAnchor).isActive = true
|
||||||
|
label.bottomAnchor.constraint(equalTo: mfTextButton.topAnchor, constant: 0).isActive = true
|
||||||
|
leftContainerView.setContentHuggingPriority(UILayoutPriority(rawValue: 900), for: NSLayoutConstraint.Axis.horizontal)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public func isValidField() -> Bool {
|
public func isValidField() -> Bool {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user