Question

J'aimerais reproduire le comportement de la Musique de l'iPhone app.Lorsque vous jouez à un album dans l'application et que vous appuyez sur le bouton en haut à droite de la couverture de l'album retourne pour montrer un UITableView des traces derrière elle.

Est-il possible de réaliser cela avec un custom UIStoryboardSegue?

Ou est le meilleur moyen juste pour basculer entre les deux vues qui utilisent le même contrôleur?

Était-ce utile?

La solution

Il est probablement plus simple pour basculer entre les deux vues de la même vue-contrôleur, par exemple

- (IBAction)showTracksView
{
    [UIView transitionWithView:self.view 
                  duration:1.0 
                   options:UIViewAnimationOptionTransitionFlipFromLeft 
                animations:^{ tracksView.hidden = NO; } 
                completion:^(BOOL finished){ self.navigationItem.title = @"Tracks"; }];
}

- (IBAction)hideTracksView
{
    [UIView transitionWithView:self.view 
                  duration:1.0 
                   options:UIViewAnimationOptionTransitionFlipFromLeft 
                animations:^{ tracksView.hidden = YES; } 
                completion:^(BOOL finished){ self.navigationItem.title = @"Album cover"; }];
}

où tracksView est votre UITableView de pistes.

Autres conseils

J'ai eu ce défi et résolu à l'aide d'un custom segue à présenter le point de vue du contrôleur.Il suffit de créer une nouvelle classe basée sur UIStoryboardSegue.

Voici mon custom segue

.h fichier:

#import <UIKit/UIKit.h>

@interface BRTrackNotesSegue : UIStoryboardSegue

@end

.m fichier

@implementation BRTrackNotesSegue

- (void) perform {
    UIViewController *src = (UIViewController *) self.sourceViewController;
    UIViewController *dst = (UIViewController *) self.destinationViewController;
    [UIView transitionWithView:src.navigationController.view duration:0.50
                       options:UIViewAnimationOptionTransitionFlipFromLeft
                    animations:^{
                        [src.navigationController pushViewController:dst animated:NO];
                    }
                    completion:NULL];
}

@end

Dans interface builder, sélectionnez la séquence et de définir la Séquence de Classe pour le nam de votre personnalisé segue.

Le second point de vue contrôleur contient les éléments suivants à rejeter avec la même animation :

- (IBAction)done:(id)sender {


    [UIView transitionWithView:self.navigationController.view
                      duration:0.50
                       options:UIViewAnimationOptionTransitionFlipFromLeft
                    animations:nil
                    completion:nil];
    [self.navigationController popViewControllerAnimated:NO];

}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top