UISegmentedControl Behavior

stemmer
4

En rask spørsmål om UISegmentedControl klasse på iPhone.

Forhåpentligvis noen kan ha lagt merke til hvor i standardtilstanden med 2 segmenter, det segmenterte kontrollen fortsatt vil veksle selv om brukeren trykker på et segment som er valgt.

Jeg har sett UISegmentedControls i apps som negere at atferd, og ikke veksle når brukeren trykker en valgt segment. Nemlig Apples iTunes Store-appen.

Er det en enkel måte å forebygge dette problemet at jeg utsikt, eller må jeg skrive noen logikk i valueChanged?

Jeg har prøvd å deaktivere tiden utvalgte segmenter og muliggjør uselekterte seg, men dette ser ut til å endre utseendet på kontroll når jeg ikke ønsker det gjør.

Noen ideer?

Publisert på 11/03/2009 klokken 09:58
kilden bruker
På andre språk...                            


4 svar

stemmer
8

Se i UISegmentedControl.h header fil (en enkel måte er å dobbeltklikke på "UISegmentedControl" i XCode med Command holdes nede).

Der vil du se en rekke elementer i en _segmentedControlFlags struct. Hvis du gjør en kategori på UISegmentedControl, kan du manipulere noen av disse elementene - inkludert dontAlwaysToggleForTwoSegments som som du kanskje skjønner av navnet er det du leter etter.

Siden dette er dokumentert i API header (men ikke i selve dokumentasjonen) bør det være ganske trygt å bruke.

Svarte 11/03/2009 kl. 23:23
kilden bruker

stemmer
4

I 3.0, " _segmentedControlFlags har" endret til " momentant " eiendom, som fortsatt kan bli funnet i UISegmentedControl.h header filen.

Svarte 20/07/2009 kl. 20:59
kilden bruker

stemmer
4

Denne standard oppførsel er endret i 3.0 API.

Svarte 18/04/2009 kl. 02:20
kilden bruker

stemmer
1

Tilgang til _segmentedControlFlags via en kategori regnes som bruk av en privat API og dermed et brudd på lisensavtalen av Apple, som jeg måtte lære i dag. Inntil nå, tenkte jeg, er kategoriene et språk funksjon for å fikse noen andens fryktelig førsteklasses design ...

Svarte 09/12/2009 kl. 03:14
kilden bruker

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