作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用一个类来覆盖 OS X 应用程序中的 NSFormatter。我尝试了书中的一个例子,但它来自旧版本的 XCode。我的问题是我不知道如何设置 NSTextfield 的格式化程序。我不确定现在 Xcoded 内置了 IB 是否发生了变化,或者我做错了什么。看起来您过去可以控制单击文本字段,它会弹出一个菜单。在菜单的导出部分,它说我应该看到“格式化程序”选择。这没有列在我的菜单的奥特莱斯部分中。
我不认为这有什么区别,但我的 NSTextfield 在 NSScrollview 中。我对 Cocoa 还很陌生(来自 C# 和 C++ 背景)。
最佳答案
您可以简单地子类化NSNumberFormatter,如下所示:
在.h
@interface NumberFormatterSubclass : NSNumberFormatter {
}
@end
在.m
@implementation NumberFormatterSubclass
- (BOOL)isPartialStringValid:(NSString **)partialString
proposedSelectedRange:(NSRangePointer)proposedSelRange
originalString:(NSString *)origString
originalSelectedRange:(NSRange)origSelRange
errorDescription:(NSString **)error
{
if ([*partialString length] > 4) {
return NO;
}
return YES;
}
不要忘记在您的 NSTextField 上添加 NSNumberFormatter 并将 NSNumberFormatter 类更改为您在身份检查器中创建的子类 em>.
关于macos - XCode 4 中文本字段的自定义 NSFormatter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9355649/
我是一名优秀的程序员,十分优秀!