繁体   English   中英

UISlider代码不覆盖IB默认值

[英]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的默认maximumValueminimumValue设置为36.084.0

unitType的默认值为0 因此,应该相应地设置heightSlider.maximumValue ,因此NSLog91.0更改为213.0但没有更改。 NSLogsIB默认值的更改。

另外[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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM