2011-03-09 63 views
1

我想統計多少個自動換行符(不是用戶輸入的回車)我在UITextView中顯示的文本中,出於參數的緣故,它的寬度爲200像素,長度爲460像素(請參閱附加屏幕截圖!) 。如何計算UITextView中的換行符(而不是/ n)?

尋找一個解決方案時,我發現這一點:

stringSize = [t sizeWithFont:f constrainedToSize:CGSizeMake(320, 10000) 
lineBreakMode:UILineBreakModeWordWrap]; 

但是,這不會給我的「隱形」線剎車整型數字,會嗎?另外,我不明白320,10000 ... 320是我猜的寬度,在我的情況下需要更改爲200。但爲什麼10.000?

很抱歉,但我是一個初學者,這並沒有太大的意義,我... enter image description here

+0

爲什麼你需要換行的數量?什麼是你想解決的更高層次的問題? – DarkDust 2011-03-09 17:09:21

+0

@DarkDust:我想看看我在屏幕上留下了多少空間。我不想使用滾動 - 所以當頁面已滿時,我想切掉不再顯示的字符串的其餘部分,並將其放到下一頁。你能理解這個嗎? – 2011-03-09 17:16:10

+0

但是,那麼你不關於線條的數量,你關心的文本的高度,或者我錯過了什麼?你已經用'sizeWithFont:constrainedToSize:'獲得了高度。 – DarkDust 2011-03-10 07:46:27

回答

1

CGSizeMake聲明是爲了計算文本的大小提供界限。通常限制寬度併爲高度設置較高的值以爲計算留出足夠的空間。

對於您的情況,寬度將爲200,只要文本不太長,您可以將高度保留爲10000。

+0

謝謝,但是如何從CGSizeMake中獲得一個int,這將揭示我有多少隱形線路剎車?對不起,如果這是顯而易見的,但我不明白這將如何幫助我確定看不見的線路剎車。 – 2011-03-09 17:09:49

+0

@Daniel Nicolae:使用'sizeWithFont:'獲取單行的高度(不受限制,它會根據文檔給出單行的結果)。然後將約束結果的高度除以不受約束的結果的高度。 – DarkDust 2011-03-09 17:13:54

+0

@DarkDusk:恐怕我還是不明白。我並不是在尋找一條線的高度,而是總線的高度。例如,在我的例子中有4行,但只有一個'/ n' - 所以必須有三個不可見的換行符。我如何數它們?對不起,是一個滋擾。 – 2011-03-09 18:01:47