Cocoa 多行NSTextFields

Cocoa 多行NSTextFields,cocoa,macos,nstextfield,Cocoa,Macos,Nstextfield,我想知道如何像Adium那样做,当你输入的文本超过字段的处理能力时,它会扩展成一行。像这样: 我如何才能做到这一点,或者在Adium源代码中的什么地方可以找到它?我不确定Adium本身在那里做什么。 但我很确定您可以使用NSTextView 你可以在苹果开发者网站上找到它 此外,如果有人想做额外的工作,请参阅使用NSTextField的技术说明。;-) Adium中的视图是aimMessageEntryTextView,加上它的超类AISendingTextView和AITextViewWi

我想知道如何像Adium那样做,当你输入的文本超过字段的处理能力时,它会扩展成一行。像这样:


我如何才能做到这一点,或者在Adium源代码中的什么地方可以找到它?

我不确定Adium本身在那里做什么。 但我很确定您可以使用NSTextView

你可以在苹果开发者网站上找到它

此外,如果有人想做额外的工作,请参阅使用NSTextField的技术说明。;-)

Adium中的视图是aimMessageEntryTextView,加上它的超类AISendingTextView和AITextViewWithPlaceholder,而实际的大小调整(与假设的理想大小相反)是由aimMessageViewController响应
aiViewDesiredSizedChangeNotification完成的


请注意,Adium是根据GPLv2获得许可的,因此,除非您打算在发布自己的项目时使用相同的许可,否则您无法为此目的解除Adium的任何代码。

谢谢您的回答。我更愿意尝试使用NSTextField,但如果需要,我可以使用它。Adium与普通NSTextView的不同之处在于,当用户键入超过一行的文本时(通过软包装或插入打断行的字符),Adium将自动向上调整文本视图的大小以适应它。这就是提问者要问的问题,而NSTextView本身并没有这种自动调整大小的行为。