Frage

Um das visuelle Aussehen eines UISlider gestalten Sie den Daumen einstellen und Bilder verfolgen. Ein Teil der Strecke Bilder wird in den entsprechenden mit gestreckt. Aus der Dokumentation:

  

Eine dehnbare Bereich befindet sich zwischen zwei   Endkappe Regionen. Die Endkappen definieren   die Teile des Bildes, die bleiben   wie und nicht gestreckt. Das   dehnbarer Bereich ist ein 1-Punkt-breite   Bereich zwischen den Endkappen, die sein kann,   replizierte das Bild erscheinen zu lassen   mehr.

Nun das Problem ist, dass ich mein dehnbarer Bereich mehr als 1-Punkt breit sein muss. (Es ist ein Muster) Leider ist die 1-Punkt-Breite scheint im SDK hart codiert zu werden.

Wer eine Idee hat, wie dies zu umgehen? Oder muss ich meinen eigenen Schieber von Grund auf für diese schreiben?

War es hilfreich?

Lösung

Ich glaube, Sie haben Ihren eigenen Schieber zu schreiben, das zu tun. Es scheint keine (öffentlichen) API zu sein UISlider das Verhalten in Bezug auf dem dehnbaren Bereich zu ändern.

Andere Tipps

Verwenden Sie einfach transparente Bilder als Track Bilder, und legte eine UIImageView unten :)

Ich weiß, es ist spät Antwort.

Aber ich löste das Problem wie folgt:

4 ist die Breite der runden Kappe in der PNG-Datei.

UIImage *minimum = [UIImage imageNamed:@"slider_minimum.png"];
[slider setMinimumTrackImage:[minimum stretchableImageWithLeftCapWidth:4 topCapHeight:0]
                      forState:UIControlStateNormal];

Sie könnten nur die Bilder schaffen so breit sein, wie Sie sie sein müssen, mit dem Muster vorgerenderten.

Sie müssen Ihr Bild mit stretchableImageWithLeftCapWidth initialisieren: topCapHeight :. leftCapWidth und topCapHeight sind schreibgeschützte Eigenschaften auf Bildobjekte, aber die Verwendung dieser Funktion können Sie sie einstellen können. Sie legen nur die links und oben, weil die linken und rechten Kappen gleich groß sind, und die oberen und unteren sind ebenfalls gleich. Also, eine benutzerdefinierte Gleitbahn mit einer linken Seitengröße von 5 Pixeln zu verwenden, müssen Sie ein Bild von 11 Pixel breit haben, um alles, was Höhe, die Sie benötigen: 5 für die linke Kappe, 1 Pixel breit, die für die Strecke gestreckt wird, und 5 weitere für das Recht. Nachdem nicht mit ihm gespielt, ich weiß nicht, ob eine topCapHeight größer als 0 funktioniert wie erwartet, aber ich vermute, es würde nicht viel zu Problemen führen.

wollte ich ein Muster hinter meinem UISlider. Ich beenden beiden Bilder auf Null Einrichtung und eine Ansicht unter dem Schieberegler hinzugefügt, da ich es nicht brauchen, die auf beiden Seiten des Daumens, anders zu sein. Dies wäre schwieriger, wenn Sie es auf der Grundlage der Position ändern müssen, aber durchaus machbar.

Ihre Gewohnheit machen UISlider Sie viele Möglichkeiten haben. Je nachdem, welche Anpassung, die Sie wollen. gibt es Standardeigenschaften Sie Ihre UISlider, wie anpassen können Folgendes einstellen: setThumbImage: forState: setMinimumTrackImage: forState: setMaximumTrackImage: forState: Wenn Sie weitere Kunden möchten, können Sie den folgenden Link verweisen https://medium.com/@0209neha/creating-a -custom-UISlider-7756bf898832 # .o1l4qhymo https://github.com/0209Neha/ExploringSlider

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