UITextView - 无论如何要弄清楚整个字符串是否可见?

时间:2014-04-26 01:58:03

标签: ios uitextview

我想知道,无论如何要确定整个字符串是否在UITextView内可见? (不测量弦本身的大小,因为UITextView是不规则的形状)。

1 个答案:

答案 0 :(得分:0)

我不太清楚你对TextView是不规则形状的意思,尽管我已经编写了一个返回BOOL结果的方法,让你知道字符串是否可见。如果您在此范围内设置了您正在使用的字体属性,则可以根据它们进行计算。

-(BOOL)isStringFullyVisibleWithinTextViewWithString:(NSString*)yourString{

    CGSize textViewSizeOversize = CGSizeMake(textView.frame.size.width, textView.frame.size.height+100);

    NSDictionary *stringAttributes = [NSDictionary dictionaryWithObject:[UIFont systemFontOfSize:13] forKey: NSFontAttributeName];

    CGSize stringAreaSize = [yourString boundingRectWithSize:textViewSize options:NSStringDrawingTruncatesLastVisibleLine|NSStringDrawingUsesLineFragmentOrigin attributes:stringAttributes context:nil].size;

    CGFloat stringAreaHeight = stringAreaSize.height;

    if (stringAreaHeight < textView.frame.size.height){
      return YES;
    }

    return NO;
}

我不知道有任何解决方案能够在不测量字符串的情况下返回您正在寻找的答案(当然这种方法也是如此)。

我希望这有帮助,

干杯, 吉姆。