Thema Datum  Von Nutzer Rating
Antwort
06.09.2011 16:28:12 Denis
NotSolved
Blau Laufzeit und ViewHirarchie
06.09.2011 20:34:59 Gu8N
NotSolved
07.09.2011 11:01:44 Denis
NotSolved
07.09.2011 13:41:22 Gast13000
NotSolved
07.09.2011 13:49:49 Denis
NotSolved
08.09.2011 17:09:29 Gu8n
NotSolved
07.09.2011 14:04:33 Denis
NotSolved
08.09.2011 17:11:19 Gast82035
NotSolved

Ansicht des Beitrags:
Von:
Gu8N
Datum:
06.09.2011 20:34:59
Views:
1570
Rating: Antwort:
  Ja
Thema:
Laufzeit und ViewHirarchie

Hi Denis,

hier bist Du richtig :-)

Mit Views und Xibs kannst Du viele verschiedene Konstellationen implementieren. Als Leitfaden kann ich Dir nur mitgeben das ganze aus der Controller-Sicht zu sehen. Damit meine ich ViewController, also die Klasse die den View controlled.

Hier implementierst Du Alle deine IBActions und IBOutlets und die ganze Logik die den View bzw die Views controlled.

Zumeist platziere ich weitere Views die vom Viewcontroller gemanagt werden im selben xib.

Ansonsten mache ich ein neues xib auf, sofern der view eine logik implementieren muss (wie ibactions, iboutlets). keine angst vor xibs. letztendlich hilft dir das ganze deine sachen getrennt zu halten. 

in deinem fall ein menuView -- gemanagt von einem menuViewController_iPhone.h und .m.

dann kommts drauf an, was die subviews können müssen. (sofern der startview nur ein statisches bild ist, lade ihn aus dem selben xib zum anzeigen)

sobald ein view "mehr können" muss würde ich einen viewcontroller und ein eigenes xib dafür anlegen.

du kannst mehere views übereinander legen. um die sichtbarkeit zu steueren würde ich jedoch den view zumindest auf HIDDEN setzen.

 

also angenonmmen du möchtest deine subviews aus einem viewcontroller heraus kontrollieren, deklariere und verknüpfe für jeden view ein IBOUTLET in deinem xib.

wenn der view geladen ist kannst du .b.

	[UIView transitionWithView:view1
					  duration:1.0
					   options:UIViewAnimationOptionTransitionNone
					animations:^{ [view1 setHidden:TRUE]; [view2 setHidden:FALSE]; }
					completion:NULL];

einen anderen view einblenden.

oder wenn du mit viewcontrollern arbeits und diesen einmlendest könntest du es evtl so machen:

[viewController1 viewWillDisappear:YES];
	[viewController1.view removeFromSuperview];
	ViewController2 *viewController = [[ViewController2 alloc] initWithNibName:@"ViewController2" bundle:nil];
	self.viewController2 = viewController;
	[viewController release];
	[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleSwitchViewNotificationFromViewController2:) name:@"SwitchView" object:viewController2];
	UIView *highView = viewController2.view;
	[viewController2 viewWillAppear:YES];
	[self.view addSubview:highView];
	
	CATransition *transition = [CATransition animation];
	transition.duration = 0.75;
	transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
	transition.type = kCATransitionPush;
	transition.subtype = kCATransitionFromRight;
	[self.view.layer addAnimation:transition forKey:nil];

 

lass dich von der caTransition nicht verwirren, das ist nur eine andere art der transition mit core animation. man kann das aber auch mit einer normalen animation die ein uiview bietet ebenso animieren.

 

Hoffe das hilft Dir etwas weiter, ansonsten einfach weiter fragen! :-)

Viele Grüße

Gu8n


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
06.09.2011 16:28:12 Denis
NotSolved
Blau Laufzeit und ViewHirarchie
06.09.2011 20:34:59 Gu8N
NotSolved
07.09.2011 11:01:44 Denis
NotSolved
07.09.2011 13:41:22 Gast13000
NotSolved
07.09.2011 13:49:49 Denis
NotSolved
08.09.2011 17:09:29 Gu8n
NotSolved
07.09.2011 14:04:33 Denis
NotSolved
08.09.2011 17:11:19 Gast82035
NotSolved