setValue:在启用状态更改之前未调用Textfield

时间:2011-08-16 20:12:11

标签: objective-c cocoa key-value-coding

我有一个带有2个选项的单选按钮,每个选项都有一个相关的文本字段。我想禁用所选按钮更改时未选中的单选按钮的文本字段。

如果我修改文本字段并在选择单选按钮后立即调用,setValue:仅针对无线电的密钥路径调用,而不是针对文本字段的密钥路径调用。

启用状态的更改将覆盖文本字段中的最后一个值,导致更改的值丢失。

以下是一些快照:

原始状态

enter image description here

修改后:

enter image description here

更改单选按钮后(顶部文本字段已恢复):

enter image description here

3 个答案:

答案 0 :(得分:1)

几年前我遇到了一个非常类似的问题,找到了一个很好的解决方案here。希望这对你有用。

答案 1 :(得分:0)

我认为你看到的行为是正确的。如果用户在编辑会话期间禁用文本字段,则编辑取消。

如果您使用选择性披露而不是选择性启用,这意味着隐藏不适用的文本字段而不是禁用它们,那么丢弃对即将消失的控件的编辑更有意义。这里应用同样的方法是合理的。

答案 2 :(得分:0)

将文本字段控件设置为连续应在每次按键后将其设置为setValue: