Как получить общее количество глифов, которые находятся в NSLayoutManager
?Как подсчитать количество глифов в NSLayoutManager
Я делал курсор слой для наложения на заказ текста зрения, как это:
func moveCursorToGlyphIndex(glyphIndex: Int) {
// get bounding rect for glyph
var rect = self.layoutManager.boundingRectForGlyphRange(NSRange(location: glyphIndex, length: 1), inTextContainer: view.textContainer)
rect.origin.y = self.textContainerInset.top
rect.size.width = cursorWidth
// set cursor layer frame to right edge of rect
cursorLayer.frame = rect
}
Однако, я хотел убедиться, что glyphIndex
не выходит за пределы. Что-то вроде этого:
if glyphIndex < self.layoutManager.glyphCount { // doesn't work
// ...
}
Я не мог найти подходящую недвижимость метода проб и ошибок, хотя и поиска в Интернете не показал SO ответов.
Я, наконец, нашел его в похоронах в документации (и теперь это кажется очевидным), но так как это заняло много времени, я решил добавить Q & A здесь.