UISegmentedControl Verhalten

stimmen
4

Eine kurze Frage über die UISegmentedControl Klasse auf dem iPhone.

Hoffentlich hat einige vielleicht bemerkt, wie in seinem Standardzustand mit 2 Segmenten, die segmentierte Steuer noch wechselt, auch wenn der Benutzer auf einem Segment tippt, die derzeit ausgewählt ist.

Ich habe UISegmentedControls in Anwendungen gesehen, dass dieses Verhalten zu negieren und nicht umschalten, wenn der Benutzer ein ausgewähltes Segment drückt. Nämlich iTune Store App von Apple.

Gibt es eine einfache Möglichkeit, dieses Verhalten zu verhindern, dass ich mit Blick auf oder brauche ich eine gewisse Logik in die valuechanged zu schreiben?

Ich habe versucht, aktuell ausgewählte Segmente zu deaktivieren und damit nicht ausgewählte, aber dies scheint das Aussehen der Steuerung zu ändern, wenn ich will es nicht tun.

Irgendwelche Ideen?

Veröffentlicht am 11/03/2009 um 10:58
quelle vom benutzer
In anderen Sprachen...                            


4 antworten

stimmen
8

Schauen Sie in der UISegmentedControl.h Header - Datei (eine einfache Möglichkeit, auf „UISegmentedControl“ in XCode Doppelklick auf Command gedrückt gehalten wird).

Dort finden Sie eine Reihe von Elementen in einer sehen _segmentedControlFlags Struktur. Wenn Sie eine Kategorie auf UISegmentedControl machen, können Sie eines dieser Elemente manipulieren - einschließlich dontAlwaysToggleForTwoSegments die , wie Sie durch den Namen erraten könnte , ist , was Sie suchen.

Da dies in den API-Header dokumentiert ist (wenn auch nicht in der eigentlichen Dokumentation) sollte es ziemlich sicher zu bedienen.

Beantwortet am 12/03/2009 um 00:23
quelle vom benutzer

stimmen
4

In 3.0 „ _segmentedControlFlags “ wurde zur „geändert momentanen “ Eigenschaft, die sie noch in der gefunden werden kann UISegmentedControl.h Header - Datei.

Beantwortet am 20/07/2009 um 21:59
quelle vom benutzer

stimmen
4

Dieses Standardverhalten hat sich in der 3.0 API geändert.

Beantwortet am 18/04/2009 um 03:20
quelle vom benutzer

stimmen
1

Zugriff auf die _segmentedControlFlags über eine Kategorie als Nutzung eines privaten API betrachtet und somit eine Verletzung der Lizenzvereinbarung von Apple, wie ich heute erfahren hatte. Bisher dachte ich, Kategorien sind eine Sprache-Funktion zu beheben jemand anderem schreckliche Klasse Design ...

Beantwortet am 09/12/2009 um 04:14
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more