我想设置NSTextField
。
//在.h班级//我有一个
IBOutlet @property (assign) IBOutlet NSTextField *tId;
//在.m Class //
@synthesize tId;
在我的XIB中,我已将IBOulet
与FilesOwner
相关联。
在我的.m课程中,我试图将值设置为方法中的NSTextField
- (id)initWithWindow:(NSWindow *)window
{enter code here
[tId setStringValue:@"1"];
return self;
}
但价值没有设定。
先谢谢!!!!!
答案 0 :(得分:1)
确定使用此
-(BOOL)isPartialStringValid:(NSString*)partialString newEditingString:(NSString**)newString errorDescription:(NSString**)error
{
if([partialString length] == 0) {
return YES;
}
NSScanner* scanner = [NSScanner scannerWithString:partialString];
if(!([scanner scanInt:0] && [scanner isAtEnd])) {
NSBeep();
return NO;
}
return YES;
}
然后将此格式化程序设置为NSTextField:
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[textField setFormatter:formatter];
答案 1 :(得分:0)
我不确定我是否正确理解了这个问题。我将解决这个问题"我尝试将stringValue设置为NSTextField通过IBOutlet访问它,但是文本字段中的值不会改变"而不是问题"如何自定义NSTextField ,因此它只接受数字值"。
可能未设置NSTextField值,因为
initWithWindow:
未被称为-[NSTextField setStringValue:]
时,IBOutlets还没有联系起来。通常,IBOutlets在初始值设定项中为nil
,稍后会挂钩。我移动了行
[tId setStringValue:@"1"];
方法- (void)awakeFromNib
,看看是否有帮助。根据文件
当一个对象收到一个awakeFromNib消息时,它保证设置所有的插座实例变量。