2011-07-13 26 views
6

Witam Każdy mam problem z obecnym kontrolerem widoku modelu. Oto scenariusz:PresentModel View Controller Problem

  1. Ta aplikacja jest pasek nawigacyjny Mam klasy UIViewController w której dodaję kolejną klasę UIView kontrolera za pomocą tego komunikatu [self.view addSubView:controllerClass];

  2. W controllerClass mam insert pasek kart na dole, a także napisać swoich delegatów na każdym pasku kart kliknij dodam kolejną UIViewController klasy do niego jako podrzędny ale zrobię wysokość lub rama do tego kontrolera jest (0,0,320,369). więc pasek kart wyświetla się, gdy klikamy na różne karty.

  3. Klikając na pierwszą kartę powiedzmy, że ScannerViewController dodaje podgląd. W tym widoku znajduje się przycisk galerii. kiedy użytkownik kliknie na niego, wstawi do niego kontroler widoku PresentModel i ukryje pasek nawigacyjny po wybraniu obrazu z galerii i uczynieniu paska nawigacyjnego hidden =NO, to nie działa, a pasek kart na dole zniknął.

+0

Kontrolka modalview domyślnie ma pasek nawigacyjny i może być używana tylko z aplikacjami nawigacyjnymi. W przeciwnym razie w przypadku zwykłych aplikacji i aplikacji opartych na kartach wpłynie to na współrzędną y obiektów na ekranie. To pasek nawigacyjny, który jest dostarczany z kontrolerem modalview, zajmie trochę miejsca, przesuwając tabBar w dół. – booleanBoy

+0

Co więcej, musisz zainicjować subview (klasa kontrolna) za pomocą tabbar (nie należy dodawać go ręcznie), czyniąc go kontrolerem widoku opartym na tablu. – booleanBoy

+0

Dodaję tabBar przy użyciu interfaceBuilder i sprawię, że rozmiary kontrolerów, które wstawiają się na tabclick to (0,0,320,369) – dark

Odpowiedz

3

Wygląda na to, że nadużywasz konstrukcji paska kart. Każda karta na pasku kart powinna mieć własny kontroler UINavigationController, zamiast udostępniania jednego kontrolera na karcie.

Ponadto, z mojego doświadczenia najlepiej jest przedstawić kontroler widoku modalnego przy użyciu widoku najniższego poziomu AppDelegate. To znaczy. widok, który został dodany do obiektu UIWindow podczas uruchamiania aplikacji.

+0

Mam rozwiązać ten problem .... – dark