您好:我正在开发一个应用程序,我想显示UISlider的值,因为用户将其移动到栏上。
我在Interface Builder中创建了一个IBOutlet
链接到一个UILabel
和一个IBAction
在Interface Builder中链接到滑块。它们在Information.h
:
@property(nonatomic, retain) IBOutlet UILabel *DispTemp;
@property(nonatomic, retain) IBOutlet UISlider *SetTemperature;
-(IBAction) DisplayTemp:(id) sender;
我没有忘记@synthesize DispTemp;
中的@synthesize SetTemperature;
和Information.m
。我正在使用IBAction
的代码:
-(IBAction) DisplayTemp:(id) sender{
self.DispTemp.text = [NSString stringWithFormat:@"%d",self.SetTemperature.value];
}
显然,Link with interface builder正在运行,因为当我移动滑块时,值会发生变化。然而,我将范围从-10设置为30,步长为0.5,但显示的值从几百万到几百万,并定期返回到0.我不知道发生了什么,任何帮助会很好。感谢
答案 0 :(得分:3)
您使用了错误的格式说明符(%d
用于int
)。滑块的value
属性类型为float
:
self.DispTemp.text = [NSString stringWithFormat:@"%f",self.SetTemperature.value];