在Objective c中的两行文本末尾添加一个链接/ UI按钮

时间:2012-08-23 11:27:48

标签: iphone objective-c ios uibutton uilabel

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

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

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

有没有办法从UILabel链接? 我应该使用UILabel + UIButton以外的其他内容吗?

任何建议都将受到赞赏。

谢谢!

LTR示例:

  

Lorem ipsum dolor坐下来,精神上的精神。法无   facilisis ... -MORE -

RTL示例:

  

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

2 个答案:

答案 0 :(得分: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;   
}

希望有所帮助:)

答案 1 :(得分:0)

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