// quick UIFontDescriptor test
class AvenirTestVC: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
var avFamilyName: String = ""
// let's make sure we have the Avenir Next font family
for family in UIFont.familyNames {
if family == "Avenir Next" {
avFamilyName = family
break
}
}
if avFamilyName.isEmpty {
fatalError("Avenir Next font family not found!!!")
}
let stackView = UIStackView()
stackView.axis = .vertical
stackView.spacing = 8
stackView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(stackView)
let g = view.safeAreaLayoutGuide
NSLayoutConstraint.activate([
stackView.topAnchor.constraint(equalTo: g.topAnchor, constant: 40.0),
stackView.leadingAnchor.constraint(equalTo: g.leadingAnchor, constant: 16.0),
stackView.trailingAnchor.constraint(equalTo: g.trailingAnchor, constant: -16.0),
])
let weights: [UIFont.Weight] = [
.light, .regular, .medium, .semibold, .bold, .heavy,
]
weights.forEach { w in
let thisDescriptor = UIFontDescriptor(fontAttributes: [
UIFontDescriptor.AttributeName.family: avFamilyName,
UIFontDescriptor.AttributeName.traits: [
UIFontDescriptor.TraitKey.weight: w
]
])
let fnt: UIFont = UIFont(descriptor: thisDescriptor, size: 28)
let label = UILabel()
label.font = fnt
label.text = fnt.fontName
label.textAlignment = .center
stackView.addArrangedSubview(label)
}
}
}
Comments
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎