2012-06-22 14 views
7

Mam następujący problem:Nawigacja przez ekrany pasku kart i przyciski

w mojej aplikacji Są dwa sposoby, aby przejść do innych ekranów: za pomocą przycisków lub za pomocą paska kart.

Wszystkie ekrany mają pasek kart, który wywołuje inne ekrany, ale ekran główny to ten, który ma przyciski, ale nie ma paska kart.

Kiedy rozpoczynam tworzenie aplikacji, wybieram szablon aplikacji z paskiem kart i działa ona dobrze, jeśli wywołam ekrany, naciskając kartę. Problem zaczyna się, gdy pracuję z ekranem głównym:

  • Muszę "ukryć" pasek kart na tym ekranie.
  • Na ekranie głównym, jeśli wezwę nowy ekran za pomocą przycisków, pasek kart zniknie z nowego ekranu (sens, ponieważ ekran wywołuje przycisk, a nie pasek kart).

Aby rozwiązać to myślę, że może uda mi się stworzyć niestandardowy pasek kart (nie wiem jeszcze jak to zrobić) i nazywają to na moich ekranów niczym UIControl, więc w ten sposób, jeśli trzeba zmienić pasek zakładek zmiany będą dostępne na wszystkich ekranach, które wywołują tę kontrolę.

Co polecasz? Dobrym pomysłem jest utworzenie niestandardowego paska kart i użycie go jak UIControl? jeśli tak, w jaki sposób mogę je utworzyć?

Używam tego nazwać okna

RecurringGiftListViewController *listViewController = [[RecurringGiftListViewController alloc] initWithNibName:@"RecurringGiftListViewController" bundle:nil]; 
listViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 
[self presentModalViewController:listViewController animated:YES]; 
[listViewController release]; 
+0

można umieścić kod bitowy że korzystając naciskać poglądy? – Ahmed

+0

@Ahmed sure, używam, używam tego do wywoływania okna RecurringGiftListViewController * listViewController = [[RecurringGiftListViewController alloc] initWithNibName: @ "RecurringGiftListViewController" bundle: nil]; listViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; [self presentModalViewController: listViewController animated: YES]; [listViewController wydanie]; – avmauricio

Odpowiedz

1

To nie brzmi jak ou należy za pomocą umieszczenie zakładek w ogóle. Pasek zadań nie powinien zniknąć po naciśnięciu jednego z przycisków. Pomyśl o tym jak o menu głównym swojej aplikacji. Możesz mieć inne ekrany, takie jak kontroler nawigacyjny lub modalne okno dialogowe, które przejmuje cały ekran, ale powinieneś mieć możliwość powrotu do paska zakładek.

Przemyśl jeszcze raz strukturę swojego interfejsu użytkownika. Być może możesz go ponownie ułożyć, aby twój "ekran główny" mógł uzyskać dostęp do okna dialogowego na jednej z zakładek?

+0

Problem polega na tym, że projekt aplikacji jest tworzony przez klienta, więc nie sądzę, żebym mógł go zmienić. – avmauricio

+1

Gdy klient kieruje się złym projektem, musisz poinformować go, dlaczego jest zły, i jak interfejs użytkownika paradygmaty mają działać. Miałem klienta, który zasadniczo zaprojektował stronę internetową dla swojej aplikacji, wraz z maleńkimi, maleńkimi polami wyboru. Próba zginania kakao Touch w złym projekcie może tylko spowodować ból i doprowadzić do złego produktu. To sytuacja przegrana. – geon

1

Twój problem polega na tym, że prezentujesz swój inny pogląd jako "modalny". Zamień swój kod z tego:

RecurringGiftListViewController *listViewController = [[RecurringGiftListViewController alloc] initWithNibName:@"RecurringGiftListViewController" bundle:nil];    
//listViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 
[self.navigationController pushViewController:listViewController animated:YES]; 
[listViewController release]; 

nadzieję, że pomoże

Powiązane problemy