2012-12-06 142 views
0

我想實現一個類似的佈局: wanted layout如何實現這一佈局IOS

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

回答

0

我實際上認爲您的下劃線想法並非完全錯誤,並且可能沒有您想象的那麼難。

可能有清潔劑(但也許更慢)的方式來做到這一點,但我想到的最簡單的是設置在你的字符串分隔符,你可以用它來打破串入這樣的部件:

爲什麼^ _ _ ^你今天早上上班遲到了嗎?這個[[myString componentsSeparatedByString:@"^"] objectAtIndex:1];會給你你的下劃線。

下一個步驟是讓大小,這樣[underscoreString sizeWithFont:[UIFont fontWithName:@"<your font>" size:<your size>]];

現在你有,你可以用它來覆蓋你的UITextField的下劃線字符串的大小。請確保在underscoreString中考慮分隔符的寬度,可以追加它們或相應地調整UITextField的寬度。請記住,這裏還有其他一些事情要考慮(例如,如果下劃線字符串包裝例如會發生什麼情況),但希望這可以回答您的直接問題。

布蘭登

0

這不是一個最好的解決方案。

但我認爲這可以很容易地實現與自動佈局的幫助。

首先在自定義單元格的右側放置一個textField,並在該標籤的右側再次放置一個標籤。

標籤 - >文本字段 - >標籤

這裏的第一個標籤前應文本框(如何),您需要填寫剩餘部分中的其他標籤上充滿了話。

並設置文本字段與第一個和最後一個標籤的相對位置。因此,如果第一個標籤的內容更大,它會移動到右側

+0

好了,問題是,如果右側標籤的文本是相當長的,如果它沒有在剩下的空間適合它會被裁剪。這就是爲什麼去下一行的能力是有用的。在我想要模仿的應用程序的包含圖像中,看看在下一行中是如何寫出「morning」這個單詞的。 – Pavitx