NSTextField在点击之前不显示内容

时间:2012-10-11 14:29:58

标签: objective-c macos

我有两个NSTextField的女巫的值在其中一个被编辑时更新(它是大小,当编辑其中一个文本字段时,其他正在更新约束比例)。第一次显示这些文本字段(它在保存面板中显示)时,两个文本字段都显示它们的值,但是当其中一个文本字段被编辑后,再次打开保存面板,其中一个文本字段没有显示其值,直到我按鼠标(选择进行编辑)。当鼠标在其他地方被按下时(例如在其他文本字段上,再次输入值。文本字段值会自动编辑为:

float _other_text_field_value = [_other_text_field floatValue];
float _aspect_ratio = _image_width/_image_height;
float _new_text_field_value = _other_text_field_value/aspect_ratio;
[_text_field setFloatValue:_new_text_field_value]; 

图像:

enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

您可以在awakeFromNib:方法中进行初步检查。 它们没有被加载,因为它们直到那时才被编辑。

修改

drawRect对此没有好处。 通过设置浮点值,文本字段必须再次绘制以显示新值。 当从nib文件初始化对象时,将调用从nib唤醒。最好的方法是使用NSTextFieldDelegate。 您可以在Interface Builder中设置文本字段的委托属性。 请看以下链接:

http://developer.apple.com/library/mac/#documentation/cocoa/reference/NSControlTextEditingDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intf/NSControlTextEditingDelegate