Add support for emoji-only messages

Adds a new message type that handles text that doubles the font size and removes the message background to model how iMessage displays emoji-only messages.
This commit is contained in:
Andrew Robinson
2017-10-03 18:09:52 -05:00
parent 9e3ce4a9a2
commit ed1d1e5bc4
9 changed files with 97 additions and 4 deletions
+13 -1
View File
@@ -70,7 +70,7 @@ final class SampleData {
var now = Date()
let messageTypes = ["Text", "Text", "Text", "AttributedText", "Photo", "Video", "Location"]
let messageTypes = ["Text", "Text", "Text", "AttributedText", "Photo", "Video", "Location", "Emoji"]
let attributes = ["Font1", "Font2", "Font3", "Font4", "Color", "Combo"]
@@ -83,6 +83,15 @@ final class SampleData {
CLLocation(latitude: 39.3218, longitude: -113.3317)
]
let emojis = [
"👍",
"👋",
"👋👋👋",
"😱😱",
"🎈",
"🇧🇷",
]
func attributedString(with text: String) -> NSAttributedString {
let nsString = NSString(string: text)
var mutableAttributedString = NSMutableAttributedString(string: text)
@@ -139,6 +148,7 @@ final class SampleData {
let randomNumberImage = Int(arc4random_uniform(UInt32(messageImages.count)))
let randomMessageType = Int(arc4random_uniform(UInt32(messageTypes.count)))
let randomNumberLocation = Int(arc4random_uniform(UInt32(locations.count)))
let randomNumberEmoji = Int(arc4random_uniform(UInt32(emojis.count)))
let uniqueID = NSUUID().uuidString
let sender = senders[randomNumberSender]
let date = dateAddingRandomTime()
@@ -157,6 +167,8 @@ final class SampleData {
return MockMessage(thumbnail: image, sender: sender, messageId: uniqueID, date: date)
case "Location":
return MockMessage(location: locations[randomNumberLocation], sender: sender, messageId: uniqueID, date: date)
case "Emoji":
return MockMessage(emoji: emojis[randomNumberEmoji], sender: sender, messageId: uniqueID, date: date)
default:
fatalError("Unrecognized mock message type")
}