UISegmentedControl Chování

hlasů
4

Rychlý dotaz ohledně třídě UISegmentedControl na iPhone.

Doufejme, že někteří Možná jste si všimli, jak ve výchozím stavu s 2 segmenty, segmentovaný kontrola stále bude přepínat iv případě, že uživatel klikne na segment, který je aktuálně vybrán.

Viděl jsem UISegmentedControls v aplikacích, které popírají, že chování a ne můžete přepínat, když uživatel stiskne vybraný segment. Konkrétně Apple iTune Store app.

Existuje jednoduchý způsob, jak zabránit tomuto chování, které jsem s výhledem, nebo musím psát nějakou logiku do valueChanged?

Byl jsem se snaží zakázat aktuálně vybrané segmenty a umožňuje ty nevybrané, ale zdá se, že měnit vzhled ovládacího prvku, když nechci to dělat.

Nějaké nápady?

Položena 11/03/2009 v 10:58
zdroj uživatelem
V jiných jazycích...                            


4 odpovědí

hlasů
8

Podívejte se do UISegmentedControl.h záhlaví souboru (snadný způsob, jak je dvojitým kliknutím na „UISegmentedControl“ v XCode s Command podržení).

Tam uvidíte počet položek v _segmentedControlFlags struct. Pokud uděláte kategorii UISegmentedControl, můžete manipulovat s některou z těchto prvků - včetně dontAlwaysToggleForTwoSegments která, jak asi tušíte z názvu je to, co hledáte.

Vzhledem k tomu, je popsána v záhlaví API (ačkoli ne ve skutečné dokumentace) by mělo být dost bezpečná.

Odpovězeno 12/03/2009 v 00:23
zdroj uživatelem

hlasů
4

V 3.0, „ _segmentedControlFlags “ byl změněn na „ okamžité “ majetku, který může ještě být nalezený v UISegmentedControl.h záhlaví souboru.

Odpovězeno 20/07/2009 v 21:59
zdroj uživatelem

hlasů
4

Toto výchozí chování bylo změněno v API 3.0.

Odpovězeno 18/04/2009 v 03:20
zdroj uživatelem

hlasů
1

Přístup k _segmentedControlFlags přes kategorie se považuje za použití osobního API a tím k porušení licenční dohody ze strany Apple, protože jsem se musel učit ještě dnes. Až do teď, myslel jsem si, kategorie jazyková funkce opravit něčí hroznou konstrukci třídy ...

Odpovězeno 09/12/2009 v 04:14
zdroj uživatelem

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