/ / Dodawanie paska kart w części uiviewcontroller, monotouch iphone - iphone, xamarin.ios, uitabbar

Dodawanie paska kart w części uiviewcontroller, monotouch iphone - iphone, xamarin.ios, uitabbar

Chcę dodać pasek kart do kontrolera uiview, takiego jak ten obraz:

wprowadź opis obrazu tutaj

Górna część (2 etykiety i UIScrollView) są naprawionei tylko dolna część zmienia się, gdy użytkownik zmienia elementy paska kart. Dodałem kontroler paska kart z obiektu w xcode do mojego uiviewcontroller, ale nie mam pojęcia, jak możemy tworzyć widoki kontrolera paska kart, jak po prostu zmienić część strony.

EDYTOWAĆ: Używam tego kodu do tego:

        UIViewController viewController1, viewController2;
if (UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone) {
viewController1 = new FirstViewController ("FirstViewController_iPhone", null);
viewController2 = new SecondViewController ("SecondViewController_iPhone", null);
} else {
viewController1 = new FirstViewController ("FirstViewController_iPad", null);
viewController2 = new SecondViewController ("SecondViewController_iPad", null);
}
UITabBarController tabBarController= new UITabBarController ();
tabBarController.ViewControllers = new UIViewController [] {
viewController1,
viewController2,
};

UIView v= tabBarController .View ;
v.Frame = new Rectangle (0,150,320,260);
UITabBar tb= tabBarController .TabBar;
tb.Frame = new RectangleF (0,410,320,50);
this.View .AddSubview (v  );
this .View .AddSubview (tb);

ale to nie działa. Widok paska kart wypełnia cały widok, a kiedy klikam przyciski uitabbar, pojawia się wyjątek i aplikacja wymusza zamknięcie.

Odpowiedzi:

1 dla odpowiedzi № 1

Może nie być potrzebny pasek kart, aby odtworzyć to zachowanie.

  1. W swoim „miejscu powinno się zmienić ...”, po prostu ustaw zwykły UIView, a my nazwiemy go kontenerem.

  2. W viewDidLoad kontrolera widoku utwórz trzy widoki i zachowaj je w pamięci, nazwijmy je detailView, mapView, agentView.

Następnie na dole możesz po prostu dodać 3 przyciski UIB. Przy każdym naciśnięciu przycisku akcji (TouchUpInside) dodajesz powiązany widok jako widok podrzędny kontenera (tj. AgentButton.TouchUpInside + = () => container.AddSubView (detailsView); * nie zapomnij usunąć poprzedniego.

EDYTOWAĆ :

this.View .AddSubview (tabBarController.View);
tabBarController.View.Frame = new RectangleF(....);

Próbowałem tego w przykładowym projekcie i działa