2011-06-25 27 views
1

我想知道如何做這樣的事情確實的Adium,就是當你鍵入比場可以處理它擴展到一個新行更多的文字。就像這樣:多行NSTextFields

enter image description here

無論我怎麼能做到這一點,或者我在Adium的源代碼,在哪裏可以找到呢?

回答

1

我並不完全相信Adium的本身並不存在。 但我確定你可以使用NSTextView。

您可以在蘋果開發者網站上找到它。

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSTextView_Class/Reference/Reference.html

而且使用的NSTextField,如果有人想要做額外的工作該技術說明。 ;-) http://developer.apple.com/library/mac/#qa/qa1454/_index.html

+0

謝謝你的回答。我寧願嘗試使用NSTextField,但如果需要,我可以使用它。 – Yep

+0

Adium和普通NSTextView的不同之處在於,當用戶鍵入多行文本(通過軟包裝或通過插入打破該行的字符)時,Adium會自動調整文本視圖的大小以適合其大小它。這就是提問者詢問的內容,而NSTextView本身沒有這種自動調整大小的行爲。 –

2

在Adium的視圖是AIMessageEntryTextView,再加上它的超類AISendingTextView和AITextViewWithPlaceholder,並且實際尺寸調整(而不是找出正確的大小作爲一個假設的理想)由AIMessageViewController響應於AIViewDesiredSizeDidChangeNotification完成。

請注意,Adium的是GPLv2協議授權的,所以除非你打算髮布自己的項目時使用同一個許可證,你不能解除任何Adium的代碼用於此目的。