【问题标题】: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;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-15
      • 2023-03-20
      • 1970-01-01
      • 2015-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多