包裹NSButton标题

Car*_*osa 9 macos cocoa objective-c

有什么方法可以让NSButton标题在宽度超过按钮宽度时换行,而不是剪裁?

我正在尝试一个带有文本的单选按钮,该文本可以很长并且有多行.我认为让它工作的一种方法是拥有NSRadioButton类型的NSButton但不能使多行文本工作.

也许我最好的选择是有一个NSButton后跟一个NSTextView,其上有mouseDown委托函数触发NSButton状态?

Sör*_*lau 7

我不相信你能.您必须子类NSButtonCell才能添加对此的支持.

也就是说,在按钮上放置多行文本通常是个坏主意.按钮标签应简明扼要地表示所执行的操作:

按钮上的标签应该是动词或动词短语,用于描述其执行的操作 - 保存,关闭,打印,删除,更改密码等.如果按钮作用于单个设置,请尽可能具体地标记按钮; 例如,"选择图片......"比"选择..."更有用.因为按钮会立即启动操作,所以不必在标签中使用"现在"(例如立即扫描).

你想做什么?


hid*_*kgb 6

我迟到了,但我仍然觉得有必要分享我的发现。

只需在按钮标题前后添加一个换行符,然后再将其分配给实际按钮——瞧!它现在自动换行。

这种方法的缺点是,由于我不知道的原因,在特定版本的 OS X shift 按钮上编译的应用程序在较新版本上运行时标题向下一行。