font style
separator default fix reset added foot in list fix
This commit is contained in:
parent
36d223e0de
commit
00252ebd69
@ -147,22 +147,26 @@ import MVMCore
|
|||||||
|
|
||||||
setLabel(label, withHTML: json?.optionalStringForKey("html"))
|
setLabel(label, withHTML: json?.optionalStringForKey("html"))
|
||||||
|
|
||||||
if let textColorHex = json?.optionalStringForKey(KeyTextColor), !textColorHex.isEmpty {
|
|
||||||
label.textColor = UIColor.mfGet(forHex: textColorHex)
|
|
||||||
}
|
|
||||||
|
|
||||||
if let backgroundColorHex = json?.optionalStringForKey(KeyBackgroundColor), !backgroundColorHex.isEmpty {
|
if let backgroundColorHex = json?.optionalStringForKey(KeyBackgroundColor), !backgroundColorHex.isEmpty {
|
||||||
label.backgroundColor = UIColor.mfGet(forHex: backgroundColorHex)
|
label.backgroundColor = UIColor.mfGet(forHex: backgroundColorHex)
|
||||||
}
|
}
|
||||||
|
|
||||||
label.accessibilityLabel = json?.optionalStringForKey("accessibilityText")
|
label.accessibilityLabel = json?.optionalStringForKey("accessibilityText")
|
||||||
|
|
||||||
let fontSize = json?["fontSize"] as? CGFloat
|
if let fontStyle = json?.optionalStringForKey("fontStyle") {
|
||||||
|
MFStyler.styleLabel(label, withStyle: fontStyle)
|
||||||
|
} else {
|
||||||
|
let fontSize = json?["fontSize"] as? CGFloat
|
||||||
|
|
||||||
|
if let fontName = json?.optionalStringForKey("fontName") {
|
||||||
|
label.font = MFFonts.mfFont(withName: fontName, size: fontSize ?? label.font.pointSize)
|
||||||
|
} else if let fontSize = fontSize {
|
||||||
|
label.font = label.font.withSize(fontSize)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if let fontName = json?.optionalStringForKey("fontName") {
|
if let textColorHex = json?.optionalStringForKey(KeyTextColor), !textColorHex.isEmpty {
|
||||||
label.font = MFFonts.mfFont(withName: fontName, size: fontSize ?? label.font.pointSize)
|
label.textColor = UIColor.mfGet(forHex: textColorHex)
|
||||||
} else if let fontSize = fontSize {
|
|
||||||
label.font = label.font.withSize(fontSize)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if let attributes = json?.arrayForKey("attributes"), let labelText = label.text {
|
if let attributes = json?.arrayForKey("attributes"), let labelText = label.text {
|
||||||
@ -190,18 +194,25 @@ import MVMCore
|
|||||||
attributedString.addAttribute(.foregroundColor, value: UIColor.mfGet(forHex: colorHex), range: range)
|
attributedString.addAttribute(.foregroundColor, value: UIColor.mfGet(forHex: colorHex), range: range)
|
||||||
}
|
}
|
||||||
case "font":
|
case "font":
|
||||||
let fontSize = attribute["size"] as? CGFloat
|
if let fontStyle = attribute.optionalStringForKey("style") {
|
||||||
var font: UIFont?
|
let styles = MFStyler.styleGetAttributedString("0", withStyle: fontStyle)
|
||||||
|
|
||||||
if let fontName = attribute.optionalStringForKey("name") {
|
|
||||||
font = MFFonts.mfFont(withName: fontName, size: fontSize ?? label.font.pointSize)
|
|
||||||
} else if let fontSize = fontSize {
|
|
||||||
font = label.font.withSize(fontSize)
|
|
||||||
}
|
|
||||||
|
|
||||||
if let font = font {
|
|
||||||
attributedString.removeAttribute(.font, range: range)
|
attributedString.removeAttribute(.font, range: range)
|
||||||
attributedString.addAttribute(.font, value: font, range: range)
|
attributedString.removeAttribute(.foregroundColor, range: range)
|
||||||
|
attributedString.addAttributes(styles.attributes(at: 0, effectiveRange: nil), range: range)
|
||||||
|
} else {
|
||||||
|
let fontSize = attribute["size"] as? CGFloat
|
||||||
|
var font: UIFont?
|
||||||
|
|
||||||
|
if let fontName = attribute.optionalStringForKey("name") {
|
||||||
|
font = MFFonts.mfFont(withName: fontName, size: fontSize ?? label.font.pointSize)
|
||||||
|
} else if let fontSize = fontSize {
|
||||||
|
font = label.font.withSize(fontSize)
|
||||||
|
}
|
||||||
|
|
||||||
|
if let font = font {
|
||||||
|
attributedString.removeAttribute(.font, range: range)
|
||||||
|
attributedString.addAttribute(.font, value: font, range: range)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
continue
|
continue
|
||||||
@ -308,6 +319,7 @@ import MVMCore
|
|||||||
}
|
}
|
||||||
|
|
||||||
public func setAsMolecule() {
|
public func setAsMolecule() {
|
||||||
|
styleB2(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
public func needsToBeConstrained() -> Bool {
|
public func needsToBeConstrained() -> Bool {
|
||||||
|
|||||||
@ -119,6 +119,14 @@ public class MoleculeStackView: ViewConstrainingView {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// MARK: - MVMCoreUIMoleculeViewProtocol
|
// MARK: - MVMCoreUIMoleculeViewProtocol
|
||||||
|
public override func reset() {
|
||||||
|
for item in items {
|
||||||
|
if let view = item.view as? MVMCoreUIMoleculeViewProtocol {
|
||||||
|
view.reset?()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
open override func setWithJSON(_ json: [AnyHashable: Any]?, delegateObject: MVMCoreUIDelegateObject?, additionalData: [AnyHashable: Any]?) {
|
open override func setWithJSON(_ json: [AnyHashable: Any]?, delegateObject: MVMCoreUIDelegateObject?, additionalData: [AnyHashable: Any]?) {
|
||||||
super.setWithJSON(json, delegateObject: delegateObject, additionalData: additionalData)
|
super.setWithJSON(json, delegateObject: delegateObject, additionalData: additionalData)
|
||||||
clear()
|
clear()
|
||||||
|
|||||||
@ -68,7 +68,6 @@ public class StandardHeaderView: ViewConstrainingView {
|
|||||||
|
|
||||||
if let separatorView = SeparatorView.separatorAdd(to: self, position: SeparatorPositionBot, withHorizontalPadding: 0) {
|
if let separatorView = SeparatorView.separatorAdd(to: self, position: SeparatorPositionBot, withHorizontalPadding: 0) {
|
||||||
separatorView.setAsHeavy()
|
separatorView.setAsHeavy()
|
||||||
separatorView.isHidden = true
|
|
||||||
addSubview(separatorView)
|
addSubview(separatorView)
|
||||||
self.separatorView = separatorView
|
self.separatorView = separatorView
|
||||||
}
|
}
|
||||||
|
|||||||
@ -205,6 +205,9 @@ B3 -> Legal
|
|||||||
|
|
||||||
#pragma mark - 2.0 styles
|
#pragma mark - 2.0 styles
|
||||||
|
|
||||||
|
/// Will style the label based on the string. Accepted values, H1, H2, H3, H32, B1, B2, B3, B20
|
||||||
|
+ (void)styleLabel:(nonnull UILabel *)label withStyle:(nullable NSString *)style;
|
||||||
|
|
||||||
+ (void)styleLabelH1:(nonnull UILabel *)label genericScaling:(BOOL)genericScaling;
|
+ (void)styleLabelH1:(nonnull UILabel *)label genericScaling:(BOOL)genericScaling;
|
||||||
+ (void)styleLabelH1:(nonnull UILabel *)label;
|
+ (void)styleLabelH1:(nonnull UILabel *)label;
|
||||||
|
|
||||||
@ -250,6 +253,9 @@ B3 -> Legal
|
|||||||
|
|
||||||
#pragma mark - Attributed Strings
|
#pragma mark - Attributed Strings
|
||||||
|
|
||||||
|
/// Will style the string based on the string. Accepted values, H1, H2, H3, H32, B1, B2, B3, B20
|
||||||
|
+ (nonnull NSAttributedString *)styleGetAttributedString:(nullable NSString *)string withStyle:(nullable NSString *)style;
|
||||||
|
|
||||||
+ (nonnull NSAttributedString *)styleGetAttributedString:(nullable NSString *)string font:(nonnull UIFont *)font color:(nonnull UIColor *)color;
|
+ (nonnull NSAttributedString *)styleGetAttributedString:(nullable NSString *)string font:(nonnull UIFont *)font color:(nonnull UIColor *)color;
|
||||||
+ (nonnull NSAttributedString *)styleGetH1AttributedString:(nullable NSString *)string;
|
+ (nonnull NSAttributedString *)styleGetH1AttributedString:(nullable NSString *)string;
|
||||||
+ (nonnull NSAttributedString *)styleGetH2AttributedString:(nullable NSString *)string;
|
+ (nonnull NSAttributedString *)styleGetH2AttributedString:(nullable NSString *)string;
|
||||||
|
|||||||
@ -511,6 +511,26 @@ CGFloat const LabelWithInternalButtonLineSpace = 2;
|
|||||||
|
|
||||||
#pragma mark - 2.0 Styles
|
#pragma mark - 2.0 Styles
|
||||||
|
|
||||||
|
+ (void)styleLabel:(nonnull UILabel *)label withStyle:(nullable NSString *)style {
|
||||||
|
if ([style isEqualToString:@"H1"]) {
|
||||||
|
[self styleLabelH1:label];
|
||||||
|
} else if ([style isEqualToString:@"H2"]) {
|
||||||
|
[self styleLabelH2:label];
|
||||||
|
} else if ([style isEqualToString:@"H3"]) {
|
||||||
|
[self styleLabelH3:label];
|
||||||
|
} else if ([style isEqualToString:@"H32"]) {
|
||||||
|
[self styleLabelH32:label];
|
||||||
|
} else if ([style isEqualToString:@"B1"]) {
|
||||||
|
[self styleLabelB1:label];
|
||||||
|
} else if ([style isEqualToString:@"B3"]) {
|
||||||
|
[self styleLabelB3:label];
|
||||||
|
} else if ([style isEqualToString:@"B20"]) {
|
||||||
|
[self styleLabelB20:label];
|
||||||
|
} else {
|
||||||
|
[self styleLabelB2:label];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
+ (void)styleLabelH1:(nonnull UILabel *)label genericScaling:(BOOL)genericScaling {
|
+ (void)styleLabelH1:(nonnull UILabel *)label genericScaling:(BOOL)genericScaling {
|
||||||
label.font = [MFStyler fontH1:genericScaling];
|
label.font = [MFStyler fontH1:genericScaling];
|
||||||
label.textColor = [UIColor blackColor];
|
label.textColor = [UIColor blackColor];
|
||||||
@ -630,6 +650,26 @@ CGFloat const LabelWithInternalButtonLineSpace = 2;
|
|||||||
|
|
||||||
#pragma mark - Attributed Strings
|
#pragma mark - Attributed Strings
|
||||||
|
|
||||||
|
+ (nonnull NSAttributedString *)styleGetAttributedString:(nullable NSString *)string withStyle:(nullable NSString *)style {
|
||||||
|
if ([style isEqualToString:@"H1"]) {
|
||||||
|
return [self styleGetH1AttributedString:string];
|
||||||
|
} else if ([style isEqualToString:@"H2"]) {
|
||||||
|
return [self styleGetH2AttributedString:string];
|
||||||
|
} else if ([style isEqualToString:@"H3"]) {
|
||||||
|
return [self styleGetH3AttributedString:string];
|
||||||
|
} else if ([style isEqualToString:@"H32"]) {
|
||||||
|
return [self styleGetH32AttributedString:string];
|
||||||
|
} else if ([style isEqualToString:@"B1"]) {
|
||||||
|
return [self styleGetB1AttributedString:string];
|
||||||
|
} else if ([style isEqualToString:@"B3"]) {
|
||||||
|
return [self styleGetB3AttributedString:string];
|
||||||
|
} else if ([style isEqualToString:@"B20"]) {
|
||||||
|
return [self styleGetB20AttributedString:string];
|
||||||
|
} else {
|
||||||
|
return [self styleGetB2AttributedString:string];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
+ (nonnull NSAttributedString *)styleGetAttributedString:(nullable NSString *)string font:(nonnull UIFont *)font color:(nonnull UIColor *)color {
|
+ (nonnull NSAttributedString *)styleGetAttributedString:(nullable NSString *)string font:(nonnull UIFont *)font color:(nonnull UIColor *)color {
|
||||||
NSAttributedString *attributedString = nil;
|
NSAttributedString *attributedString = nil;
|
||||||
if (![string isEqual:[NSNull null]] && string.length > 0) {
|
if (![string isEqual:[NSNull null]] && string.length > 0) {
|
||||||
@ -656,6 +696,10 @@ CGFloat const LabelWithInternalButtonLineSpace = 2;
|
|||||||
return [MFStyler styleGetAttributedString:string font:[MFStyler fontH3] color:[UIColor blackColor]];
|
return [MFStyler styleGetAttributedString:string font:[MFStyler fontH3] color:[UIColor blackColor]];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
+ (nonnull NSAttributedString *)styleGetH32AttributedString:(nullable NSString *)string {
|
||||||
|
return [MFStyler styleGetAttributedString:string font:[MFStyler fontH32] color:[UIColor blackColor]];
|
||||||
|
}
|
||||||
|
|
||||||
+ (nonnull NSAttributedString *)styleGetB1AttributedString:(nullable NSString *)string {
|
+ (nonnull NSAttributedString *)styleGetB1AttributedString:(nullable NSString *)string {
|
||||||
return [MFStyler styleGetAttributedString:string font:[MFStyler fontB1] color:[UIColor blackColor]];
|
return [MFStyler styleGetAttributedString:string font:[MFStyler fontB1] color:[UIColor blackColor]];
|
||||||
}
|
}
|
||||||
@ -668,6 +712,10 @@ CGFloat const LabelWithInternalButtonLineSpace = 2;
|
|||||||
return [MFStyler styleGetAttributedString:string font:[MFStyler fontB3] color:[UIColor mfBattleshipGrey]];
|
return [MFStyler styleGetAttributedString:string font:[MFStyler fontB3] color:[UIColor mfBattleshipGrey]];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
+ (nonnull NSAttributedString *)styleGetB20AttributedString:(nullable NSString *)string {
|
||||||
|
return [MFStyler styleGetAttributedString:string font:[MFStyler fontB20] color:[UIColor blackColor]];
|
||||||
|
}
|
||||||
|
|
||||||
+ (nonnull NSAttributedString *)styleGetDisabledB1AttributedString:(nullable NSString *)string {
|
+ (nonnull NSAttributedString *)styleGetDisabledB1AttributedString:(nullable NSString *)string {
|
||||||
return [MFStyler styleGetAttributedString:string font:[MFStyler fontB1] color:[UIColor mfLighterGrayColor]];
|
return [MFStyler styleGetAttributedString:string font:[MFStyler fontB1] color:[UIColor mfLighterGrayColor]];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,7 +36,7 @@ open class MoleculeListTemplate: ThreeLayerTableViewController {
|
|||||||
override open func viewForBottom() -> UIView {
|
override open func viewForBottom() -> UIView {
|
||||||
guard let moleculeJSON = loadObject?.pageJSON?.optionalDictionaryForKey("footer"),
|
guard let moleculeJSON = loadObject?.pageJSON?.optionalDictionaryForKey("footer"),
|
||||||
let molecule = MVMCoreUIMoleculeMappingObject.shared()?.createMolecule(forJSON: moleculeJSON, delegateObject: delegateObject() as? MVMCoreUIDelegateObject, constrainIfNeeded: true) else {
|
let molecule = MVMCoreUIMoleculeMappingObject.shared()?.createMolecule(forJSON: moleculeJSON, delegateObject: delegateObject() as? MVMCoreUIDelegateObject, constrainIfNeeded: true) else {
|
||||||
return viewForBottom()
|
return super.viewForBottom()
|
||||||
}
|
}
|
||||||
return molecule
|
return molecule
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user