0

1 行または複数行に収まる長いテキスト文字列があります。私がする必要があるのは、最初の 2 行を表示することです。テキストがそれよりも長い場合は、全文を表示する別のページ/ビュー コントローラーを指す「詳細」ボタン/リンクを追加します。

を追加して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

WebView を使用してみてください。ロードする 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 に答える