【发布时间】:2012-08-23 12:16:29
【问题描述】:
[heightSlider addTarget:self action:@selector(updateHeightLabel:)forControlEvents:UIControlEventValueChanged];我在.h文件中声明了heightSlider,如下所示:
@property (retain, nonatomic) UISlider *heightSlider; 是@synthesize heightSlider;
在.m 文件中。
在IB 中,我将它连接到valueChanged 上的updateHeightLabel。我还将IB 中的默认maximumValue 和minimumValue 设置为36.0 和84.0。
unitType 的默认值为0。所以heightSlider.maximumValue 应该相应地设置,因此NSLog 从91.0 更改为213.0 但它没有。它从NSLogs 更改为IB 默认值。
另外[heightSlider addTarget:self action:@selector(updateHeightLabel:)forControlEvents:UIControlEventValueChanged]; 似乎也不起作用,并且由于IB 中的连接而仅调用该函数。
我做错了什么基本的事情吗?
- (void)viewDidLoad
{
[super viewDidLoad];
heightSlider = [[UISlider alloc] init];
heightSlider.userInteractionEnabled = TRUE;
heightSlider.continuous = YES;
[heightSlider addTarget:self action:@selector(updateHeightLabel:)forControlEvents:UIControlEventValueChanged];
if (unitType == 0) {
heightSlider.maximumValue = 91.0;
heightSlider.minimumValue = 213.0;
}
else if (unitType ==1 ) {
heightSlider.maximumValue = 36.0;
heightSlider.minimumValue = 84.0;
}
}
-(IBAction) updateHeightLabel:(id)sender {
NSLog(@"Sender Value : %f", sender.value");
}
【问题讨论】:
-
你有一个叫updateHeightLabel的方法吗?
-
感谢@geminiCoder,这只是一个错字。不要在代码中包含它。
标签: iphone objective-c ios ipad uislider