2010-11-16 27 views
0

我正在使用Flash/AS3中的簡單聊天應用程序。有一個聊天輸入框,一個發送按鈕和一個TextField,其中聊天輸入框的內容在消息發送後出現。使文本出現在TextField的底部

默認情況下,當您向TextField添加文本時,文本會顯示在頂部,並且會向下移動到底部。我想做的(接近)相反:在TextField的底部顯示新消息,並且在添加新消息時,舊消息移動到頂部。

有沒有一種簡單的方法來做到這一點與TextField?我是否應該將TextField更改爲支持此功能的其他組件?

感謝您的幫助!

+0

貴文本字段有固定的大小? – www0z0k 2010-11-16 22:17:06

回答

0
+0

嗨。這看起來正是我想要做的,但我無法理解代碼。你能解釋一下在onclick函數中的一切工作嗎?我看到這是你添加一行的地方,但是我無法理解語法。謝謝。 – rottendevice 2010-11-17 16:24:24

+0

@rottendevice:我最好在那裏評論我的代碼或者在這裏粘貼這個函數?什麼更適合你? – www0z0k 2010-11-17 16:42:23

+0

代碼註釋是可取的。但無論哪種方式都很好,謝謝! – rottendevice 2010-11-17 20:30:29

0

我想我知道你的意思。我前段時間做過類似的事情。我所做的是使用TextArea來顯示文本,以便我可以操縱垂直滾動條。我所做的是首先檢查verticalScrollPosition是否等於maxVerticalScrollPosition。然後將文本添加到TextArea。最後,或者將垂直滾動條再次設置爲最大值(如果它們相等),或者將其設置爲添加文本之前的條件(如果它們不相等)。這使得它,這樣如果用戶向上翻動的歷史,他們不會每次都帶回了一條新的消息用武之地

+0

謝謝。這有助於在TextArea實例能夠在TextArea中放置更多文本時自動滾動。但是我正在尋找一種方法,默認情況下在TextArea的底部顯示來自聊天的新消息。因此,添加的第一條消息出現在TextArea的底部,而不是頂部。最新的信息總是出現在底部,而較舊的信息則被推到頂部。 – rottendevice 2010-11-17 17:01:17

+0

這只是(赦免不正確的語法)MyTextArea.text + = newText? – 2010-11-17 18:41:14

+0

否。當你這樣做時,新的文本首先被添加到頂部,然後逐漸放下文本框。我想將文本添加到底部,然後逐漸向上放置文本框。 – rottendevice 2010-11-17 20:32:35