Как показать значение UISlider как целого

Значение UISlider в настоящее время отображается как float. Как показать его как целое число?

sliderCtl = [[UISlider alloc] initWithFrame:frame];
    sliderCtl.minimumValue = 1;
    sliderCtl.maximumValue = 15;
    sliderCtl.continuous = NO;
    sliderCtl.value = 1;
    [sliderCtl setShowValue:YES];

Ответ 1

Вы можете обрезать или округлить значение с ползунка, а затем обновить его, чтобы дать пользователю отзыв об изменении (он, как представляется, привязывается к целочисленному значению при выпуске пользователя).

Ответ 2

если вы хотите, чтобы ваш слайдер привязывался к разным целочисленным значениям, вы можете использовать что-то подобное в своей функции valueChanged:

-(IBAction)valueChanged:(UISlider*)sender {
    int discreteValue = roundl([sender value]); // Rounds float to an integer
    [sender setValue:(float)discreteValue]; // Sets your slider to this value
}

Это приведет к щелчку слайдера после отпускания палец значениям 1,2,..., 15 на основе расстояния между двумя числами. Если, например, вы отпустили ползунок в 2.4, он вернется к 2, тогда как в 2.6 он будет привязан к 3.