在Objective c中两行文本的末尾添加一个链接/ UI按钮
Posted
技术标签:
【中文标题】在Objective c中两行文本的末尾添加一个链接/ UI按钮【英文标题】:Adding a link/UIbutton at the end of two lines of text in Objective c 【发布时间】:2012-08-23 11:27:48 【问题描述】:我有一长串可能适合 1 行或多行的文本。 我需要做的是显示前两行,如果文本比这更长 - 添加一个“更多”按钮/链接,该按钮/链接将指向另一个将显示全文的页面/视图控制器。
我正在考虑添加一个UILabel
,计算文本大小,如果它太大 - 添加一个指向下一个控制器的 UIButton。
问题是:
1. 使用自动换行,行中的最后一个单词可能在行尾或行中间结束 - 我不知道在哪里放置“更多”UIButton
。
2. 文本可能是 LTR 和 RTL,所以我不知道在哪里放置“更多”按钮(在左侧或右侧)。
有没有办法从UILabel
链接?
我应该使用UILabel + UIButton
以外的东西吗?
任何建议将不胜感激。
谢谢!
LTR 示例:
Lorem ipsum dolor sit amet,consectetur adipiscing elit。纳拉 便利化... -MORE-
RTL 示例:
אם עוד אחרים בגרסה。 תנך יכול פולנית או , הארץ העברית על אנא, החלל ...-更多-
【问题讨论】:
【参考方案1】:请尝试使用网络视图。要加载的 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;
希望有所帮助:)
【讨论】:
【参考方案2】:您也可以使用TTTAttributedLabel。它有一个非常有用的属性,叫做attributedTruncationToken
。
【讨论】:
以上是关于在Objective c中两行文本的末尾添加一个链接/ UI按钮的主要内容,如果未能解决你的问题,请参考以下文章
标题中有两行文本的 UIButton (numberOfLines=2)