根据验证(绑定)更改NSTextField文本颜色
我有一个使用验证绑定的NSTextField - 如果该值无效,该设置永远不会被调用; 如果用户试图以无效值离开该字段,则应用程序将显示具有2个选项的错误警报(放弃或继续编辑),等等......
为了获得更好的用户界面,我想在验证中更改文本颜色:
-(BOOL)validateMinValue:(id *)ioValue error:(NSError * __autoreleasing *)outError
{
ParameterValue * param=*ioValue;
if(*ioValue==nil || param.internalValue>_data->maxValue)
{
if (outError != NULL) {
NSString *errorString = @"Minimum value must be less than the maximum value.";
NSDictionary *userInfoDict = @{ NSLocalizedDescriptionKey : errorString };
*outError = [[NSError alloc] initWithDomain:@"minValue-maxValue"
code:1
userInfo:userInfoDict];
}
_minValueField.textColor=[NSColor redColor];
return NO;
}
_minValueField.textColor=[NSColor whiteColor];
return YES;
}
问题在于,如果用户试图以无效值离开字段,并且如果他在警报上选择了“丢弃更改”选项,则该值将被丢弃,但textcolor将继续为红色(因为系统不会重新启动)验证它知道有效的值)。 有什么建议么?
链接地址: http://www.djcxy.com/p/85253.html上一篇: Change NSTextField text color, based on validation (bind)
下一篇: Wait for user close window to get values from NSTextField