2010-11-30 14 views
0

Hier ist meine App-Setup.Wechseln zu einer anderen UIView, innerhalb TabBar

TabBar App mit drei Register Elemente, Tabulatoren 2 und 3 sind irrelevant

Die TabBarController innerhalb MainWindow.xib befindet

im Interface Builder für MainWindow.xib innerhalb des TabBarController i die seperate Viewcontrollers haben für jede Registerkarte Dann eine Ansicht für jeden darunter liegenden Ansichtscontroller (dies wird beim Anzeigen des Objekts in der Listenansicht angezeigt)

Die Anwendung lädt und zeigt die erste Registerkarte an. Ich möchte in der Ansicht der ersten Registerkarte, die angeklickt werden kann, eine Schaltfläche haben, die folgendes animiert: die aktuelle Ansicht ausgeblendet eine neue Ansicht Einblenden innerhalb der Registerkarte SAME. Würde die neue Ansicht einen neuen Viewcontroller oder nur eine zusätzliche Ansicht unter dem View-Controller erfordern? Oder kann ich einen neuen View-Controller erstellen und diesen mit seiner Ansicht laden?

Wie würde ich darüber gehen? Nur die Methode wird benötigt.

Wie würde ich darüber gehen? Dank

EDIT

meine Interface Builder Liste sieht wie folgt aus

http://i51.tinypic.com/2i7vjv6.jpg

Wo soll ich diese neue Ansicht platzieren?

Antwort

0

Sie benötigen den zusätzlichen View-Controller nicht. Fügen Sie einfach eine zusätzliche Ansicht in der Ansicht des aktuellen Controllers hinzu, und das ist gut genug. Wenn der Nutzer die Schaltfläche "Aufbessern" betätigt, wird eine Animation erstellt, mit der die Transparenz der Ansichten für die gewünschte Dauer angepasst wird. Wenn die Animation beendet ist, legen Sie die transparente Ansicht als ausgeblendet fest, damit die Benutzeraktionen nicht erfasst werden.

@interface NewsletterViewController { 
    IBOutlet UIView *view1; 
    IBOUtlet UIView *view2; 
} 

im Interface Builder, fügen Sie diese Ansichten zu NewsletterViewController-> Ansicht und verbinden sie mit diesen Geschäften.

Einige Code für Animation Setup:

[UIView beginAnimations: @"Fade" context: nil]; 
[UIView setAnimationDuration: 0.5]; 
[UIView setAnimationDelegate: self]; 
[UIView setAnimationDidStopSelector: @selector(onFadeFinished)]; 
view1.alpha = 0; 
view2.alpha = 1 
[UIView commitAnimations]; 
+0

Ok Danke für das :) –

+0

nach dem bearbeiten kann u weiter helfen? –

+0

Sie können es in die Ansicht einfügen, die sich in Ausgewähltem Newsletter View Controller befindet, und Sie sollten in Ihre h-Datei hinzufügen: IBOutlet UIView * view2 und verbinden Sie es im Interface Builder mit derselben Klasse in File Owner. view1 und view2 sollten Unteransichten der genannten Ansicht sein. – Prcela

Verwandte Themen