0

我正在尝试获取TextView. 我在这里搜索了一个解决方案,基本上每个线程都有相同的答案:contentheight/fontlineheight。

我有TextView8 行,我运行这段代码,我得到contsize : 1.944413

NSLog(@"contsize : %f", descLabel.contentSize.height/descLabel.font.lineHeight);

我究竟做错了什么?

4

1 回答 1

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;
}
于 2014-03-10T12:54:31.543 回答