Frage

Der Wert des UISlider zeigt zur Zeit als Schwimmer. Wie kann ich es als eine ganze Zahl?

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

Lösung

Sie könnten gestutzt oder um den Wert aus dem Schieber und dann aktualisieren, um das Nutzer-Feedback über die Änderung zu geben (es scheint auf den ganzzahligen Wert zu schnappen, wenn der Benutzer).

Andere Tipps

Wenn Sie Ihre Schieberegler auf verschiedene ganzzahlige Werte schnappen möchten, können Sie so etwas in Ihrer valuechanged-Funktion verwenden:

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

Damit wird den Schieber schnappt nach dem Finger auf Werte wie 1,2 Freigabe, ..., 15 basierend auf dem Abstand zwischen zwei Zahlen. Wenn Sie zum Beispiel der Regler bei 2,4 freigegeben, wird es auf 2 zurückschnappen, während bei 2.6 es 3 Snap würde.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top