Frage

Ich versuche wirklich mein Bestes zu geben, aber ich kann nicht wirklich herausfinden, was in meinem Code schief geht. Ich habe viel gesucht, aber ich denke, ich kann einige objektive C -Grundlagen einfach nicht verstehen;)

Meine erste Frage bezieht sich auf den folgenden Code:

[window addSubview:tabBarController.view];

UIImage *image = [UIImage imageNamed:@"lol.png"];
UIImageView *defaultImage = [[UIImageView alloc] initWithImage:image];

Macht es einen Unterschied darüber:

[window addSubview:defaultImage];

oder dieses :

[tabBarController.view addSubview:defaultImage];

Meine zweite Frage besteht darin, einen Begrüßungsbildschirm zu erstellen. Ich habe versucht, es selbst zu tun, aber ich kann einfach nicht herausfinden, was nicht funktioniert (wir sind in AppDelegate):

[window addSubview:tabBarController.view];

UIImage *image = [UIImage imageNamed:@"lol.png"];
UIImageView *defaultImage = [[UIImageView alloc] initWithImage:image]; 

[window addSubview:defaultImage];
[window makeKeyAndVisible]; //makes the window visible right ?

UIImage *image2 = [UIImage imageNamed:@"lol2.png"];
UIImageView *pubImage = [[UIImageView alloc] initWithImage:image2];

[UIView setAnimationDelegate:self];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:2.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:window cache:YES]; //not sure about the forView:window ...

[defaultImage removeFromSuperview];
[window addSubview:pubImage];

[UIView commitAnimations];

Hmm, ich denke, da ich "makeKeyandvisible" -Free angerufen habe, sollte sichtbar sein und es sollte den Benutzern die Animation gezeigt werden ...

Nun, ich vermisse einen Schritt, da es nicht funktioniert: D.

Hilfe willkommen,

Gauthier.

War es hilfreich?

Lösung

Wenn Sie Ihrem Projekt mit dem Namen "default.png" ein Bild hinzufügen, fungiert es als Begrüßungsbildschirm.

Der Benutzer zu zwingen, einen Bildschirm länger als nötig zu betrachten, wird normalerweise als schlecht angesehen.

Wenn Sie sowieso eine mit addSubView hinzufügen möchten: sollte einwandfrei funktionieren, wenn Sie Animation möchten, möchten Sie möglicherweise mit den Katransitionen anstelle der UIView -Animationen prüfen.

Das Hinzufügen des Begrenzungsbildschirms zum Fenster oder im Hauptansichtsregler sollte dem Benutzer gleich angezeigt werden.

Bearbeiten:Probieren Sie diesen Ausschnitt aus - Sie müssen #include <QuartzCore/QuartzCore.h> und fügen Sie das Quartzcore -Framework hinzu

// Using a CATransition
    CATransition* transition = [CATransition animation];
    transition.delegate = self; // if you set this, implement the method below
    transition.duration = 0.3;
    transition.timingFunction = [CAMediaTimingFunction functionWithName: kCAMediaTimingFunctionEaseOut];
    transition.type = kCATransitionMoveIn;
    transition.subtype = kCATransitionFromRight;
    [self.view.layer addAnimation: transition forKey: nil];
    [self.view addSubview: theNewView];

Fügen Sie dies hinzu, wenn Sie etwas tun müssen, wenn der Übergang beendet ist:

#pragma mark -
#pragma mark CAAnimation Delegate Methods
- (void)animationDidStop: (CAAnimation*)theAnimation finished: (BOOL)flag
{
    // Whatever you need to do when the animation is done.
}

Andere Tipps

Ich stimme der ersten Aussage in der anderen Antwort nicht zu, in der lautet: "Wenn Sie Ihrem Projekt mit dem Namen" Standard.png "ein Bild hinzufügen, fungiert es als Begrüßungsbildschirm."

Default.png ist das Startbild. Das Apple Hig Unterscheidet speziell zwischen dem Startbild und dem Begrüßungsbildschirm.

Insbesondere heißt es

Vermeiden Sie es, Ihr Startbild als Gelegenheit zur Bereitstellung zu verwenden:

  • Ein „Anwendungseintrittserlebnis“ wie ein Begrüßungsbildschirm
  • Ein über Fenster
  • Brandingelemente, es sei denn, sie sind ein statischer Bestandteil des ersten Bildschirms Ihrer Anwendung

Verwenden Sie daher für einen Begrüßungsbildschirm NSTimer oder eine Schaltfläche für den Benutzer, um den Begrüßungsbildschirm zu entlassen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top