Skip to content

Commit a4f5af6

Browse files
committed
Improve creation of symbols.
1 parent 443cd58 commit a4f5af6

File tree

3 files changed

+38
-27
lines changed

3 files changed

+38
-27
lines changed

Example/Example/EditorDemoController.swift

Lines changed: 33 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1135,53 +1135,65 @@ extension EditorDemoController {
11351135
}
11361136
}
11371137

1138+
extension UIImage {
1139+
1140+
static func systemImage(_ name: String) -> UIImage {
1141+
guard let image = UIImage(systemName: name) else {
1142+
assertionFailure("Missing system image: \(name)")
1143+
return UIImage()
1144+
}
1145+
1146+
return image
1147+
}
1148+
}
1149+
11381150
extension FormattingIdentifier {
11391151

11401152
var iconImage: UIImage {
11411153

11421154
switch(self) {
11431155
case .media:
1144-
return UIImage.init(systemName: "plus.circle")!
1156+
return UIImage.systemImage("plus.circle")
11451157
case .p:
1146-
return UIImage.init(systemName: "textformat.size")!
1158+
return UIImage.systemImage("textformat.size")
11471159
case .bold:
1148-
return UIImage.init(systemName: "bold")!
1160+
return UIImage.systemImage("bold")
11491161
case .italic:
1150-
return UIImage.init(systemName: "italic")!
1162+
return UIImage.systemImage("italic")
11511163
case .underline:
1152-
return UIImage.init(systemName: "underline")!
1164+
return UIImage.systemImage("underline")
11531165
case .strikethrough:
1154-
return UIImage.init(systemName: "strikethrough")!
1166+
return UIImage.systemImage("strikethrough")
11551167
case .blockquote:
1156-
return UIImage.init(systemName: "text.quote")!
1168+
return UIImage.systemImage("text.quote")
11571169
case .orderedlist:
1158-
return UIImage.init(systemName: "list.number")!
1170+
return UIImage.systemImage("list.number")
11591171
case .unorderedlist:
1160-
return UIImage.init(systemName: "list.bullet")!
1172+
return UIImage.systemImage("list.bullet")
11611173
case .link:
1162-
return UIImage.init(systemName: "link")!
1174+
return UIImage.systemImage("link")
11631175
case .horizontalruler:
1164-
return UIImage.init(systemName: "minus")!
1176+
return UIImage.systemImage("minus")
11651177
case .sourcecode:
1166-
return UIImage.init(systemName: "chevron.left.slash.chevron.right")!
1178+
return UIImage.systemImage("chevron.left.slash.chevron.right")
11671179
case .more:
1168-
return UIImage.init(systemName: "ellipsis")!
1180+
return UIImage.systemImage("textformat.abc.dottedunderline")
11691181
case .header1:
1170-
return UIImage.init(systemName: "textformat.size")!
1182+
return UIImage.systemImage("textformat.size")
11711183
case .header2:
1172-
return UIImage.init(systemName: "textformat.size")!
1184+
return UIImage.systemImage("textformat.size")
11731185
case .header3:
1174-
return UIImage.init(systemName: "textformat.size")!
1186+
return UIImage.systemImage("textformat.size")
11751187
case .header4:
1176-
return UIImage.init(systemName: "textformat.size")!
1188+
return UIImage.systemImage("textformat.size")
11771189
case .header5:
1178-
return UIImage.init(systemName: "textformat.size")!
1190+
return UIImage.systemImage("textformat.size")
11791191
case .header6:
1180-
return UIImage.init(systemName: "textformat.size")!
1192+
return UIImage.systemImage("textformat.size")
11811193
case .code:
1182-
return UIImage.init(systemName: "textbox")!
1194+
return UIImage.systemImage("textbox")
11831195
default:
1184-
return UIImage.init(systemName: "info")!
1196+
return UIImage.systemImage("info")
11851197
}
11861198
}
11871199

Example/Example/MediaInserter.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ class MediaInserter
7070
timer.invalidate()
7171
let message = NSAttributedString(string: "Upload failed!", attributes: attachmentTextAttributes)
7272
attachment.message = message
73-
attachment.overlayImage = UIImage.init(systemName: "arrow.clockwise")
73+
attachment.overlayImage = UIImage.systemImage("arrow.clockwise")
7474
}
7575
if progress.fractionCompleted >= 1 {
7676
timer.invalidate()

Example/Example/TextViewAttachmentDelegateProvider.swift

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,16 +42,15 @@ class TextViewAttachmentDelegateProvider: NSObject, TextViewAttachmentDelegate {
4242
return placeholderImage(for: attachment)
4343
}
4444

45-
func placeholderImage(for attachment: NSTextAttachment) -> UIImage {
46-
let imageSize = CGSize(width:64, height:64)
45+
func placeholderImage(for attachment: NSTextAttachment) -> UIImage {
4746
var placeholderImage: UIImage
4847
switch attachment {
4948
case _ as ImageAttachment:
50-
placeholderImage = UIImage.init(systemName: "photo")!
49+
placeholderImage = UIImage.systemImage("photo")
5150
case _ as VideoAttachment:
52-
placeholderImage = UIImage.init(systemName: "video")!
51+
placeholderImage = UIImage.systemImage("video")
5352
default:
54-
placeholderImage = UIImage.init(systemName: "paperclip")!
53+
placeholderImage = UIImage.systemImage("paperclip")
5554
}
5655
if #available(iOS 13.0, *) {
5756
placeholderImage = placeholderImage.withTintColor(.label)

0 commit comments

Comments
 (0)