在1到100的范围内将UISlider增加1

Kru*_*nal 10 cocoa-touch objective-c uislider ios

我是iPhone新手,

如何让我的UISlider以1为增量从100增加到100 1

    slider = [[UISlider alloc] init];
    [slider addTarget:self action:@selector(sliderChange:) forControlEvents:UIControlEventValueChanged];
    [slider setBackgroundColor:[UIColor clearColor]];
    slider.minimumValue = 1;
    slider.maximumValue = 100;
    slider.continuous = YES;
    slider.value = 0.0;

- (IBAction)sliderChange:(id)sender{
    NSLog(@"slider.value=%f",slider.value);
}
Run Code Online (Sandbox Code Playgroud)

当我滑动我的日志显示...

slider.value = 1.000000
slider.value = 1.123440
slider.value = 1.234550
slider.value = 1.345670
slider.value = 1.567890
.
.
.
Run Code Online (Sandbox Code Playgroud)

我想将滑块值设为1.0,2.0,3.0等等......

任何帮助都会得到满足.

Jam*_*ter 13

//Only generate update events on release
slider.continuous = NO;

//Round the value and set the slider
- (IBAction)sliderChange:(id)sender
{
    int rounded = sender.value;  //Casting to an int will truncate, round down
    [sender setValue:rounded animated:NO];

    NSLog(@"%f", sender.value);
}
Run Code Online (Sandbox Code Playgroud)


Baz*_*nga 8

你可以试试这个:

float RoundValue(UISlider * slider) {
  return roundf(slider.value * 2.0) * 1;
}
Run Code Online (Sandbox Code Playgroud)


Par*_*shi 7

yourSlider.minimumValue = 1;
yourSlider.maximumValue = 100;
[yourSlider addTarget:self action:@selector(roundValue) forControlEvents:UIControlEventValueChanged];

- (void)roundValue{
    yourSlider.value = round(yourSlider.value);
}
Run Code Online (Sandbox Code Playgroud)

也看到这个波纹管回答有用的玩具你,给一些想法......

UISlider递增

还有另一个可能会给你一些想法..

UISlider,增量为5