以下是我班级的当前代码......
@interface Stat : NSObject {
@private
IBOutlet NSTextField *value;
IBOutlet NSTextField *modValue;
IBOutlet NSStepper *stepper;
}
-(IBAction)setValue:(id)sender;
@end
@implementation Stat
- (id)init
{
self = [super init];
if (self) {
// Initialization code here.
}
return self;
}
- (void)dealloc
{
[super dealloc];
}
-(IBAction)setValue:(id)sender
{
[value setIntValue:([sender intValue])];
[modValue setIntValue:(round(([sender intValue]/2)-5))];
}
@end
stepper,value文本框和modValue文本框都链接到它们对应的变量,步进器链接到setValue函数。但是,当我使用步进器时,只有modValue文本中的文本会发生变化。有人可以帮忙吗?如果您需要更多代码/信息,我可以提供。
编辑:也。如果您有解决方案,请解释一下吗?我已经用Java和C#编写了很长时间,但是Obj-C给了我一个挑战。到目前为止,我喜欢它。 :)
答案 0 :(得分:0)
编辑:很可能是Interface Builder中的某个插座没有正确设置。检查以确保IB中的两个NSTextField都连接到Xcode中的正确插座。
答案 1 :(得分:0)
根据文件,
"当值发生变化时,步进器会将 UIControlEventValueChanged 标志发送到其目标(请参阅addTarget:action:forControlEvents :)。有关是否连续发送值更改事件或用户交互何时结束的信息,请参阅连续属性的说明。"
因此,您将UIStepper IBAction的状态设置为 UIControlEventValueChanged 。