我正在尝试以编程方式创建一个NSSearchField;但是,我不知道如何找到标准NSSearchField的框架高度(就像界面生成器中的高度一样)。显然,我可以简单地复制IB中NSSearchField实体的高度,然后调用具有该高度的NSMakeFrame,但这感觉有点黑客--当苹果改变典型搜索字段的高度时会发生什么?我不希望将高度硬编码到我的应用程序中。这更像是一个“最佳实践”的问题,而不是一个“我根本不能让它工作”的问题。
谢谢!
发布于 2010-08-30 14:14:51
这样做的神奇方法是
我的搜索字段sizeToFit
这会将框架更改为最小宽度和高度。我在Cocoa语言包装中使用了它,其中应用程序必须完全在没有IB的情况下构建它们的图形用户界面,并且它可以在几乎任何NSControl类上工作,除了相同的情况(如小控件大小和NSComboBox)以及只提供图标宽度的NSPopUpButton。
还可以看看Apple的人机界面指南。像素大小是固定的,所以使用魔法像素常量不会有危险。
发布于 2010-08-20 13:26:41
所以你要对NSSearchField进行子类化?你想要以编程的方式创建它,但你并没有真正清楚为什么。所以你需要框架来做你的自定义绘图?我认为当你重写绘图代码时,你应该试着看看哪个效果最好,换句话说,尝试高度,看看哪个适合或最适合你的应用程序设计。
https://stackoverflow.com/questions/3528378
复制相似问题