0

我有一长串可能适合 1 行或多行的文本。我需要做的是显示前两行,如果文本比这更长 - 添加一个“更多”按钮/链接,它将指向另一个将显示全文的页面/视图控制器。

我正在考虑添加一个UILabel,计算文本大小,如果它太大 - 添加一个 UIButton 将指向下一个控制器。

问题在于: 1. 使用自动换行,行中的最后一个单词可能在行尾或行中间结束——我不知道在哪里放置 "more" UIButton。2. 文本可能是 LTR 和 RTL,所以我不知道在哪里放置“更多”按钮(在左侧或右侧)。

有没有办法从一个链接UILabel?我应该使用其他的东西UILabel + UIButton吗?

任何建议将不胜感激。

谢谢!

LTR 示例:

Lorem ipsum dolor sit amet, consectetur adipiscing elit。Nulla facilisis... -MORE-

RTL 示例:

אם עוד אחרים בגרסה。תנך יכול פולנית או , הארץ העברית על אנא, החלל ...-MORE-

4

2 回答 2

0

请尝试使用网络视图。要加载的 HTML 应该是:

Your short text here...<a href="moreurl">-MORE-</a>

并在 UIWebviewDelegate 中采用此方法

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
      NSURL *url = [request URL];
      if([[url absoluteString] isEqualToString:@"moreurl"])
     {
        //change html string to full string (without more)
        [webView loadHTMLString:@"Your full text here." baseURL:nil];
     }
      return YES;   
}

希望有所帮助:)

于 2012-08-24T01:58:02.893 回答
0

您也可以使用TTTAttributedLabel。它有一个非常有用的属性,称为attributedTruncationToken.

于 2015-12-15T14:49:58.440 回答