簡體   English   中英

如何在iOS中實現這種布局

[英]how to achieve this layout in ios

我正在嘗試實現類似於以下的布局: 想要的布局

我對如何實現這一目標感到困惑。 iOS 6中的新功能,容器單元和自動布局可能應該有所幫助,但是我看到的應用程序已經很老了,他們沒有這些新功能就實現了這一功能。 我要實現的是一個標簽,一個文本字段,然后是另一個標簽,該標簽可能具有足夠長的文本,因此必須包裝到下一行,例如在我附加的圖像中。 實現此目的的一種可能方法是,在標簽上放置兩行,然后重復放置例如下划線字符,然后以某種方式測量下划線的開始和結束位置,並覆蓋該區域中的文本字段。 但這很困難,而且看起來很麻煩。 關於如何實現這一目標的任何想法? 謝謝!

這不是最佳解決方案。

但是我認為可以借助自動布局輕松實現。

首先在自定義單元格的右側放置一個標簽,然后在其右側放置一個textField和該標簽。

標簽->文本字段->標簽

在這里,第一個標簽應使用textField(如何)之前的單詞填充,而在其他標簽上,您需要填充其余部分。

並使用第一個和最后一個標簽設置文本字段的相對位置。 這樣,如果第一個標簽的內容大得多,它將移到右側

我實際上認為您的下划線想法不是一個壞主意,可能不像您想的那么難。

可能有更干凈(雖然可能更慢)的方法來執行此操作,但是想到的最簡單的方法是在字符串中設置定界符,您可以使用該定界符將字符串分成如下所示的組件:

為什么^ ___ ^您今天早上上班遲到?

從這里開始, [[myString componentsSeparatedByString:@"^"] objectAtIndex:1]; 將給您下划線。

下一步是獲取大小,例如[underscoreString sizeWithFont:[UIFont fontWithName:@"<your font>" size:<your size>]];

現在,您有了下划線字符串的大小,可以用來覆蓋UITextField。 請務必考慮您的underscoreString中定界符的寬度,或者將其附加或相應地調整UITextField的寬度。 請記住,這里還有其他事情要考慮(例如,如果下划線字符串包裝,會發生什么),但是希望這可以回答您的緊迫問題。

-布蘭登

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM