【问题标题】:UITextView count lines not working as intendedUITextView 计数行未按预期工作
【发布时间】:2014-03-10 12:36:01
【问题描述】:
我正在尝试获取TextView 中的行数。我在这里搜索了一个解决方案,基本上每个线程都有相同的答案:contentheight/fontlineheight。
我有一个 8 行的 TextView,我运行此代码并得到 contsize : 1.944413
NSLog(@"contsize : %f", descLabel.contentSize.height/descLabel.font.lineHeight);
我做错了什么?
【问题讨论】:
标签:
uitextview
line
line-count
【解决方案1】:
对于 iOS7,该版本会注意您的 UITextView 中可以有不同的字体(和字体大小):
- (NSUInteger)numberOfLinesInTextView:(UITextView *)textView
{
NSLayoutManager *layoutManager = [textView layoutManager];
NSUInteger index, numberOfLines;
NSRange glyphRange = [layoutManager glyphRangeForTextContainer:[textView textContainer]];
NSRange lineRange;
for (numberOfLines = 0, index = glyphRange.location; index < glyphRange.length; numberOfLines++){
(void) [layoutManager lineFragmentRectForGlyphAtIndex:index
effectiveRange:&lineRange];
index = NSMaxRange(lineRange);
}
return numberOfLines;
}