Advertisement
Guest User

Untitled

a guest
Jul 27th, 2016
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. let textStorage = NSTextStorage(attributedString: attributedString)
  2. let layoutManager = NSLayoutManager()
  3. layoutManager.usesFontLeading = true
  4. textStorage.addLayoutManager(layoutManager)
  5.  
  6. let textContainer = NSTextContainer(size: containerSize)
  7. layoutManager.addTextContainer(textContainer)
  8.  
  9. textContainer.lineFragmentPadding = 0.0
  10.  
  11. layoutManager.ensureLayoutForTextContainer(textContainer)
  12.  
  13. let tappedIndex = layoutManager.characterIndexForPoint(point,
  14. inTextContainer: textContainer,
  15. fractionOfDistanceBetweenInsertionPoints: nil)
  16.  
  17. let emojiText = "😀"
  18. let font = UIFont.systemFontOfSize(20.0)
  19. let containerSize = CGSize(width: 300.0, height: 20000.0)
  20.  
  21. let attributedString = NSAttributedString(string: emojiText, attributes: [NSFontAttributeName: font])
  22.  
  23. let textStorage = NSTextStorage(attributedString: attributedString)
  24. let layoutManager = NSLayoutManager()
  25. layoutManager.usesFontLeading = true
  26. textStorage.addLayoutManager(layoutManager)
  27.  
  28. let textContainer = NSTextContainer(size: containerSize)
  29. layoutManager.addTextContainer(textContainer)
  30. textContainer.lineFragmentPadding = 0.0
  31.  
  32. layoutManager.ensureLayoutForTextContainer(textContainer)
  33.  
  34. let glyphRect = layoutManager.boundingRectForGlyphRange(NSRange(location: 0, length: attributedString.length), inTextContainer: textContainer)
  35. let boundingRect = attributedString.boundingRectWithSize(containerSize, options:[.UsesLineFragmentOrigin, .UsesFontLeading], context: nil)
  36.  
  37. glyphRect = (0.0, 0.0, 23.0, 28.875)
  38. boundingRect = (0.0, 0.0, 23.0, 23.8671875)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement