Cocoa 根据验证更改NSTextField文本颜色(绑定)
我有一个使用验证的绑定的NSTextField,如果该值无效,则永远不会调用该集;如果用户试图用无效值保留该字段,应用程序将显示一个错误警报,其中包含两个选项(放弃或继续编辑),依此类推 为了获得更好的UI,我希望在验证中更改文本颜色:Cocoa 根据验证更改NSTextField文本颜色(绑定),cocoa,nstextfield,Cocoa,Nstextfield,我有一个使用验证的绑定的NSTextField,如果该值无效,则永远不会调用该集;如果用户试图用无效值保留该字段,应用程序将显示一个错误警报,其中包含两个选项(放弃或继续编辑),依此类推 为了获得更好的UI,我希望在验证中更改文本颜色: -(BOOL)validateMinValue:(id *)ioValue error:(NSError * __autoreleasing *)outError { ParameterValue * param=*ioValue; if(*io
-(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将继续显示为红色(因为系统不会重新验证它知道有效的值)。
有什么建议吗