Ios 如何在文本末尾添加按钮,如Facebook';s";继续阅读;?

Ios 如何在文本末尾添加按钮,如Facebook';s";继续阅读;?,ios,objective-c,Ios,Objective C,当状态帖子过长时,Facebook应用程序会剪切文本,并在末尾添加“继续阅读”。它如何知道在哪里剪切文本并添加“…继续阅读” 不仅仅是在textView或label中添加按钮,而是如何剪切字符串。 例如,在下图中,我将行数限制为7行。我可以在textView或标签的右下角放置一个按钮,但它可能会重叠一些字符 这应该对您有所帮助:) 我想它只是在预览文本中有一个字符限制。如果文本超过该限制,它会将其删除并添加“…继续阅读”。如果要避免截断一个单词,只需搜索字符限制之前的最后一个空格实例。@Pari

当状态帖子过长时,Facebook应用程序会剪切文本,并在末尾添加“继续阅读”。它如何知道在哪里剪切文本并添加“…继续阅读”

不仅仅是在textView或label中添加按钮,而是如何剪切字符串。 例如,在下图中,我将行数限制为7行。我可以在textView或标签的右下角放置一个按钮,但它可能会重叠一些字符

这应该对您有所帮助:)


我想它只是在预览文本中有一个字符限制。如果文本超过该限制,它会将其删除并添加“…继续阅读”。如果要避免截断一个单词,只需搜索字符限制之前的最后一个空格实例。@ParisNelson所以我用它从文本长度限制的rect中获取字符串。那就照你说的做。这有意义吗?@ParisNelson试着描述一个实际的解决方案,而不仅仅是对你看到的东西的高层次描述。UILabel上没有“字符限制”,也没有自动添加带有“继续阅读”的漂亮样式的可点击文本。
NSString *str=self.strQuestionTitle;

CGRect rect=CGRectMake(51, 16, 257, 0);

CGSize size=[str sizeWithFont:self.lblQuestion.font constrainedToSize:CGSizeMake(257, 3000) lineBreakMode:self.lblQuestion.lineBreakMode];
int lines=(size.height/self.lblQuestion.font.pointSize);
self.lblQuestion.numberOfLines=lines;
rect.size=size;
if(lines>2)
{
    if(lines==3 &&[str length]>66)
    {
        str=[str substringToIndex:66];
    str=[str stringByAppendingString:@"...Read More"];
    size=[str sizeWithFont:self.lblQuestion.font constrainedToSize:CGSizeMake(257, 67) lineBreakMode:self.lblQuestion.lineBreakMode];

    int lines=(size.height/self.lblQuestion.font.pointSize);
    self.lblQuestion.numberOfLines=lines;

    rect.size=CGSizeMake(257, 67);
    }
    else if(lines>3)
    {
        str=[str stringByAppendingString:@"...Read More"];
        size=[str sizeWithFont:self.lblQuestion.font constrainedToSize:CGSizeMake(257, 67) lineBreakMode:self.lblQuestion.lineBreakMode


              ];

        int lines=(size.height/self.lblQuestion.font.pointSize);
        self.lblQuestion.numberOfLines=lines;

        rect.size=CGSizeMake(257, 67);
    }

    //self.lblQuestion.lineBreakMode=NSLineBreakByTruncatingHead;
}