Benutzerdefinierte UISlider - Erhöhung "hot spot" Größe
Habe ich eine benutzerdefinierte UISlider, die ist relativ hart, für große Finger Menschen zu greifen und schieben aufgrund der Größe des "thumb-Bild". Gibt es eine Möglichkeit zum vergrößern anklickbar /draggable Bereich zu verändern, ohne die Größe des Bildes?
Hier der code, den ich für das erstellen der benutzerdefinierten Schieberegler, wenn das hilft:
[slider setMaximumTrackImage:[[UIImage imageNamed:@"max.png"]
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 20, 0, 20)]
forState:UIControlStateNormal];
[slider setMinimumTrackImage:[[UIImage imageNamed:@"min.png"]
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 20, 0, 20)]
forState:UIControlStateNormal];
[slider setThumbImage:[UIImage imageNamed:@"thumb.png"]
forState:UIControlStateNormal];
- Sie konnte cheat - fügen Sie eine Grenze von transparenten Pixel auf dem Daumen Bild, um seine Größe, ohne es suchen anders 🙂
- Wenn ich das täte, wäre ich nicht in der Lage sein, den regler auf 0 oder 1. (Wie würde es auf null gesetzt werden, aber es würde nicht so Aussehen, wie es ist durch den transparenten Rand auf der linken/rechten Seite des Bildes.)
- So fügen Sie die Polsterung an den linken/rechten Seiten Ihrer Spur Bilder auch. Dann, Ausgleich für nicht in der Lage, Recht bekommen, auf 0 oder 1 in Ihrem code.
InformationsquelleAutor unsunghero | 2012-11-02
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich herauf das bilden von Unterklassen der UISlider und überschreiben dieser Methode:
Dadurch verlängert sich die berührbare Fläche um 10 Pixel Links und rechts 15 Pixel oben und unten.
Diese Lösung funktioniert mit iOS 8:
Credits gehen zu diesem Beitrag: http://www.mpatric.com/2009-04-15-more-responsive-sliders-on-the-iphone
thumbImageForState(UIControlState.Normal)
können die Rückgabe nil, wenn kein benutzerdefiniertes Bild als veröffentlicht unter :stackoverflow.com/questions/21313796/.... Unterklassen, als sugested von Rudolf Adamkovic, löst das problem des Erhaltens der Daumen-Größe.Swift 3
Unterklasse von
UISlider
mit erhöhter touch-Oberflächegehen Sie mit diesem link
http://erfan-ali-31.blogspot.in/2011/10/more-sensitive-or-responsive-custom.html
seine arbeiten, getestet in Gerät auch
Landete ich mit dieses und es funktioniert ziemlich gut für mich.
Geschrieben, dass diese Antwort, so dass es hilfreich sein könnte, um jemanden.
Auch Sie können nur increese Bild Größe, das führt zu die Erhöhung der Schieberegler Größe.
Wenn Sie brauchen, um im linken Bild die Größe nicht zu groß, aber passen Sie Schieberegler die Größe nur hinzufügen, durchsichtigen Raum, um Bild-Inhalte.
Wenn Sie mit Schieber in UITableViewCell das problem ist auch, dass tableview Griff Geste kurz vor den Schieberegler. Dies zu ändern, verwenden Sie die folgende Lösung:
https://stackoverflow.com/a/37751635/2150954
Ich denke, es ist nicht allzu schwierig zu übersetzen sein code zu Ziel C.
Größe ändern, frame, und ändern Sie die Bildausrichtung auf die gewünschte ein. Sie können Ihre Ausrichtung zentriert, Links, rechts, oben oder unten. Machen Sie es so:
So Ihre berühren-Rahmen wird größer sein-und image-Skala bleibt unverändert.