Cocoa:对于NSView,如何在其绑定节目之外制作子视图,而不是削减一半?

时间:2014-02-08 02:39:16

标签: macos cocoa nsview subview

the blue rectangle is the textfield control

我想用字符串值"默认"制作TextField对象。显示它的整体外观,而不是削减一半,所以我该怎么做?

任何想法都将受到赞赏!

1 个答案:

答案 0 :(得分:1)

如果您正在使用自动布局和NSTextField,请确保它在Interface Builder中不受高度限制,并且它将始终自动调整大小以适合一行文字。

如果您没有使用自动布局,请使用@ boyfarrell的-sizeToFit。

你不想试图让视图在其边界之外绘制,因为AppKit没有为此设置,所以它会以各种各样的方式失败。例如,当边界之外的区域被弄脏时,视图将不会被调用并要求重绘,因此有时您最终不会将边界绘制到边界之外。此外,视图背后的视图并不总是被外部区域清除,因此您最终也会过度绘制外部位,从而产生超级BOLDFACE文本。