Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- extension UITextView {
- func editedWord() -> String? {
- if text.containsEmoji {
- return nil
- }
- let cursorPosition = selectedRange.location
- let separationCharacters = NSCharacterSet(charactersInString: " ")
- let beginRange = Range(text.startIndex.advancedBy(0)..<text.startIndex.advancedBy(cursorPosition))
- let endRange = Range(text.startIndex.advancedBy(cursorPosition)..<text.startIndex.advancedBy(text.characters.count))
- let beginPhrase = text.substringWithRange(beginRange)
- let endPhrase = text.substringWithRange(endRange)
- let beginWords = beginPhrase.componentsSeparatedByCharactersInSet(separationCharacters)
- let endWords = endPhrase.componentsSeparatedByCharactersInSet(separationCharacters)
- return beginWords.last! + endWords.first!
- }
- }
- extension String {
- var containsEmoji: Bool {
- for scalar in unicodeScalars {
- switch scalar.value {
- case 0x1F600...0x1F64F, // Emoticons
- 0x1F300...0x1F5FF, // Misc Symbols and Pictographs
- 0x1F680...0x1F6FF, // Transport and Map
- 0x2600...0x26FF, // Misc symbols
- 0x2700...0x27BF, // Dingbats
- 0xFE00...0xFE0F: // Variation Selectors
- return true
- default:
- continue
- }
- }
- return false
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment