我想在我的应用程序中添加字体选择器。 Xcode的界面生成器也有一个很好的实现,它也在Xcode自己的首选项窗口中使用。Xcode风格字体选择器
这是在字体名称文本字段本身内有一个“T”按钮(看似)的人。
这是一个标准的可可实现吗?
我想在我的应用程序中添加字体选择器。 Xcode的界面生成器也有一个很好的实现,它也在Xcode自己的首选项窗口中使用。Xcode风格字体选择器
这是在字体名称文本字段本身内有一个“T”按钮(看似)的人。
这是一个标准的可可实现吗?
你需要推出自己的。请参阅Subclassing NSControl。您将继承NSTextField和NSTextFieldCell。实际上阅读整个指南。一旦你有一个很好的理解,那么你可以重写绘图/几何例程来返回宽度稍小的矩形(小到足以留下字体“按钮”的空间)。然后画出你的字体按钮。您将在字体按钮上响应其鼠标事件,就像您对任何NSView所做的一样。
对于带按钮的预览文本框没有标准控件,但有一个标准的NSFontPanel类,可以让用户在点击“T”按钮后选择字体。
最好的想法可能是重写NSTextFieldCell。我已经能够通过覆盖-drawInteriorWithFrame:inView:来获得所需的外观,并且在调用超级时传递稍宽的帧,然后自己绘制按钮。您还必须自己实现鼠标追踪按钮,但您可能只需创建自己的NSButtonCell实例并使用该按钮的子rect调用几个方法即可。
为方便起见,您可能还需要创建一个NSTextField子类,该子类使用此单元而不是直NSTextFieldCell,但如果要从XIB加载内容,则只需更改XIB中单元的类并将其保留在常规文本字段视图中。
我目前正在调查NSFontPanel ..我自己需要一个答案,但是哦.. – Mazyod 2012-04-30 16:57:43
我也想使用这个控件。你有没有想出一个类似的解决方案? – 2012-05-17 15:37:33