2009-10-12 164 views
0

這看起來應該很簡單,但我不知道如何去做。如何使用戶鍵入UITextView水平滾動?

我在界面生成器中創建了一個UITextView。它不會坐在桌上的單元格或任何像這樣的幻想中。

我想要做的是當用戶輸入他們的方式一直到右邊距UITextView滾動自己到左邊。

目前它只是做一個單詞包裝,我理解在大多數情況下單詞包裝是有意義的,但我需要它來滾動。我所追求的是垂直展示的行爲。

我試過在viewDidLoad中調整UITextView的內容大小,並且在viewDidAppear中也沒有什麼區別。

我也玩過IB中的插入設置,但不會影響可滾動大小,只是顯示在哪裏。

有沒有人有任何想法?

回答

1

好的,它看起來並不像我想要的那樣完成,但是我已經想出了一個辦法讓我在那裏。

比方說,我想600滾動寬度和250

可見寬度的第一步是使一個UITextView的寬你想要滾動的區域。那麼你會在contentSize中輸入什麼,在這種情況下是600.

然後右插入設置爲實際寬度和所需寬度之間的差值。在這種情況下,350.

這種方式光標被限制到您需要的寬度,但在所需寬度的右​​側有可見的文本,畢竟UITextView IS是600像素寬。

現在,這裏是真正的hackish位進來,如果你敏感或胃虛弱,不要閱讀。

在UITextView應該結束的位置獲取用戶界面的圖像。將它作爲UIImage視圖插入到NIB中,並將它放回原處,確保它位於UITextView的頂部。

當顯示視圖時,剪切位於UITextView的頂部並隱藏文本溢出。

我並不自豪,但它的工作原理。

2

如果您只需要一行滾動的文本,您可能會更好地使用UITextFieldUITextView s用於多行文本輸入,這就是爲什麼自動換行是默認設置。據我所知,你不能覆蓋該行爲。

+0

其實我需要多行。 – oldbeamer 2009-10-12 21:23:22

+0

你可以嘗試設置/覆蓋'contentSize'屬性,但是如果這樣做不起作用,那麼你很可能倒黴。 – Alex 2009-10-12 21:26:56