Merge pull request #55 from MessageKit/attributedText-example

Fixes #50
This commit is contained in:
Steven Deutsch
2017-08-11 02:48:39 -05:00
committed by GitHub
2 changed files with 43 additions and 15 deletions
+21 -13
View File
@@ -26,17 +26,25 @@ import Foundation
import MessageKit
struct MockMessage: MessageType {
var messageId: String
var sender: Sender
var sentDate: Date
var data: MessageData
init(text: String, sender: Sender, messageId: String) {
data = .text(text)
self.sender = sender
self.messageId = messageId
self.sentDate = Date()
}
var messageId: String
var sender: Sender
var sentDate: Date
var data: MessageData
private init(data: MessageData, sender: Sender, messageId: String) {
self.data = data
self.sender = sender
self.messageId = messageId
self.sentDate = Date()
}
init(text: String, sender: Sender, messageId: String) {
self.init(data: .text(text), sender: sender, messageId: messageId)
}
init(attributedText: NSAttributedString, sender: Sender, messageId: String) {
self.init(data: .attributedText(attributedText), sender: sender, messageId: messageId)
}
}
+22 -2
View File
@@ -39,8 +39,28 @@ struct SampleData {
let msg6 = MockMessage(text: "I think if you do something and it turns out pretty good, then you should go do something else wonderful, not dwell on it for too long. Just figure out whats next.", sender: Jobs, messageId: UUID().uuidString)
let msg7 = MockMessage(text: "Remembering that I'll be dead soon is the most important tool I've ever encountered to help me make the big choices in life. Because almost everything - all external expectations, all pride, all fear of embarrassment or failure - these things just fall away in the face of death, leaving only what is truly important.", sender: Jobs, messageId: UUID().uuidString)
let msg8 = MockMessage(text: "Price is rarely the most important thing. A cheap product might sell some units. Somebody gets it home and they feel great when they pay the money, but then they get it home and use it and the joy is gone.", sender: Cook, messageId: UUID().uuidString)
return [msg1, msg2, msg3, msg4, msg5, msg6, msg7, msg8]
let msg9Text = NSString(string: "Use .attributedText() to add bold, italic, colored text and more...")
let msg9AttributedText = NSMutableAttributedString(string: String(msg9Text))
if #available(iOS 9.0, *) {
msg9AttributedText.addAttributes([NSFontAttributeName: UIFont.monospacedDigitSystemFont(ofSize: UIFont.systemFontSize, weight: UIFontWeightBold)], range: msg9Text.range(of: ".attributedText()"))
} else {
msg9AttributedText.addAttributes([NSUnderlineStyleAttributeName: NSUnderlineStyle.styleSingle], range: msg9Text.range(of: ".attributedText()"))
}
msg9AttributedText.addAttributes([NSFontAttributeName: UIFont.boldSystemFont(ofSize: UIFont.systemFontSize)],
range: msg9Text.range(of: "bold"))
msg9AttributedText.addAttributes([NSFontAttributeName: UIFont.italicSystemFont(ofSize: UIFont.systemFontSize)],
range: msg9Text.range(of: "italic"))
msg9AttributedText.addAttributes([NSForegroundColorAttributeName: UIColor.red],
range: msg9Text.range(of: "colored"))
let msg9 = MockMessage(attributedText: msg9AttributedText, sender: Jobs, messageId: UUID().uuidString)
return [msg1, msg2, msg3, msg4, msg5, msg6, msg7, msg8, msg9]
}
func getCurrentSender() -> Sender {