如何在Objective C中获取在窗口外绘制的控件

时间:2015-02-21 21:53:16

标签: cocoa

我有一个搜索建议框,我通过使用在您开始在NSTextField中输入时出现的NSScrollView来实现。我希望我的窗口非常短,并且ScrollView部分地在窗口外部绘制。像这样:

enter image description here

但我得到了这个:

enter image description here

我该怎么办?

1 个答案:

答案 0 :(得分:2)

您无法在窗口外扩展控件。你需要做的是把它们放在一个单独的窗口中。您通常希望该窗口是原始窗口的子窗口(使用-[NSWindow addChildWindow:ordered:])。

对于您描述的用例,您应该使用内置控件NSComboBox。如果您真的想重新实现这种控制,Apple会提供CustomMenus示例代码和相关的WWDC视频。它特别包含一个建议菜单,以帮助填写文本字段。