Jak lze zadávat zobrazení změnou operace z mého pohledu řídicí jednotky při zrychlení?

hlasů
1

Mám třídu view řadiče. Chci dělat některé věci z mého pohledu, kdy akcelerometr detekuje pohyb a volá akcelerometr: didAccelerate: metodu v objektu delegáta.

Že objekt delegáta je problém tady v mém mozku. V současné době, můj mozek je zmraženy a já to nechápu, co by bylo lepší. Dej mi vědět, co si myslíš!

Řešení 1) Ve své třídě pohledu regulátoru I v souladu s protokolem UIAccelerometerDelegate, a implementovat tento akcelerometr: didAccelerate: metoda. V -applicationDidFinishLaunching: způsobu mého AppDelegate třídy I nastavit tento objekt pohled řadiče jako delegáta pro příjem volání metody při zrychlení. Myslím, že to není opravdu dobrá.

Řešení 2) jsem vytvořit nový prázdný objekt s názvem AccelerationDelegate, v souladu s touto UIAccelerometerDelegate protokolu, provádění tohoto akcelerometru: didAccelerate: metoda a v -applicationDidFinishLaunching: způsob mého AppDelegate třídy I nastavit tento objekt pohled řadiče jako delegáta pro příjem volání metod při zrychlení.

Ale pro řešení 2 můj mozek uvízl trochu! Jak bych přístup k objektům Pohled z mého pohledu řídicí jednotky uvnitř tohoto objektu?

Problém je, že mám více než jeden řadič pohledu kolem sebe. Používám řadič liště pro přepínání mezi nimi.

Nějaké návrhy, jak bych mohl dostat, že jo?

Položena 05/05/2009 v 22:13
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
2

Souhlasím s tím, že druhý způsob je lepší. Hledáte způsob, jak získat přístup pouze aktuálně vybranou kartu Zobrazit, nebo jen určitý pohled do aplikace.

V každém případě, co budu dělat, je nastavit vlastnosti pro vaše UITabViewControllerve vaší UIApplicationDelegatetakže k němu máte přístup z delegáta (můžete získat app delegáta voláním [[UIApplication sharedApplication] delegate]). Například:

YourApplicationDelegate *appDelegate = (YourApplicationDelegate *)[[UIApplication sharedApplication] delegate];
FirstUIViewController *firstViewController = appDelegate.firstViewController;
[firstViewController doStuff];

kde firstViewControllerje vlastnost na delegáta.

Odpovězeno 05/05/2009 v 22:59
zdroj uživatelem

hlasů
1

Pokud je vaše zrychlení je specifické pro jeden pohled řadič, pak to dává smysl, aby regulátor pohled obdržet informace potřebné pro změnu své vlastní subviews. Nicméně, to by mohlo být lépe nastavit regulátor pohledu se sníží delegáta, když se objeví zobrazení a nastavte delegáta na null, když zmizí. (Konkrétně, - (void) viewWillAppear:i - (void) viewWillDisappear:)

Odpovězeno 06/05/2009 v 14:53
zdroj uživatelem

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