我有一长串文字,可能适合一行或多行。 我需要做的是显示前两行,如果文本比这长,请添加一个“更多”按钮/链接,指向将显示全文的另一个页面/视图控制器。
我在考虑添加UILabel
,计算文字大小,如果它太大 - 添加一个指向下一个控制器的UIButton。
问题在于:
1.使用自动换行,行中的最后一个单词可能在一行的末尾或行的中间结束 - 我不知道在哪里放置“更多”UIButton
。
2.文本可能是LTR和RTL,所以我不知道在哪里放“更多”按钮(左侧或右侧)。
有没有办法从UILabel
链接?
我应该使用UILabel + UIButton
以外的其他内容吗?
任何建议都将受到赞赏。
谢谢!
LTR示例:
Lorem ipsum dolor坐下来,精神上的精神。法无 facilisis ... -MORE -
RTL示例:
אםעודאחריםבגרסה。 תנךיכולפולניתאו,הארץהעבריתעלאנא,החלל ...- MORE -
答案 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
。