[英]UISlider code not overriding IB defaults
[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");
}
如果您已经在IB中创建了滑块,并将其连接到heightSlider属性,那么您不应该执行alloc / init来创建一个新滑块。 您正在有效地创建一个不可见的滑块(因为您没有将其添加为子视图),并更改了它的属性。
注释掉代码的alloc / init行...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.