Skip to content

Instantly share code, notes, and snippets.

@sahara-ooga
Last active March 22, 2022 07:24
Show Gist options
  • Save sahara-ooga/0b9d8b8aa9f4c58d952d6e2ffb64f106 to your computer and use it in GitHub Desktop.
Save sahara-ooga/0b9d8b8aa9f4c58d952d6e2ffb64f106 to your computer and use it in GitHub Desktop.
Readable UIContentSizeCategory string
/*
The rawValue of UIContentSizeCategory is not as clear as `UICTContentSizeCategoryL`(see example below) .
```swift
UIContentSizeCategory.large.rawValue//"UICTContentSizeCategoryL"
UIContentSizeCategory.accessibilityExtraExtraExtraLarge.rawValue//"UICTContentSizeCategoryAccessibilityXXXL"
```
To solve this problem, I defined mapping.
see also: https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/typography/
*/
extension UIContentSizeCategory {
var string: String {
switch self {
case .extraSmall:
return "extraSmall"
case .small:
return "small"
case .medium:
return "medium"
case .large:
return "large"
case .extraLarge:
return "extraLarge"
case .extraExtraLarge:
return "extraExtraLarge"
case .extraExtraExtraLarge:
return "extraExtraExtraLarge"
case .accessibilityMedium:
return "accessibilityMedium"
case .accessibilityLarge:
return "accessibilityLarge"
case .accessibilityExtraLarge:
return "accessibilityExtraLarge"
case .accessibilityExtraExtraLarge:
return "accessibilityExtraExtraLarge"
case .accessibilityExtraExtraExtraLarge:
return "accessibilityExtraExtraExtraLarge"
case .unspecified:
return "unspecified"
default:
return self.rawValue
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment