Popover : bug sur l'animation disappear?

Hello


 


J'ai un problème quand je fais disparaà®tre un popover : l'animation semble buguée (cf. photo d'écran).


Est-ce que certains parmi vous ont déjà  remarqué ça ?


 


Réponses

  • CéroceCéroce Membre, Modérateur
    Jamais eu ce problème. As-tu un popover customisé ou standard ?
  • Merci de ta réponse Céroce, voici mon code :


     


    Voici mon code



    - (CBDMenuForChaptersVC *)menuForChaptersVC
    {
    if (!_menuForChaptersVC)
    {
    _menuForChaptersVC = [[CBDMenuForChaptersVC alloc] init];

    /*
    Being a popover
    */
    self.menuForChaptersVC.modalPresentationStyle = UIModalPresentationPopover;

    /*
    Popover
    */
    self.menuForChaptersVC.preferredContentSize = [CBDMenuForChaptersVC size_cbd_]; // compute the size from the XIB
    }

    return _menuForChaptersVC;
    }


    - (void)setUpPopoverForViewForChapters
    {
    UIPopoverPresentationController *popoverPresentationController = self.menuForChaptersVC.popoverPresentationController;

    popoverPresentationController.delegate = self;
    popoverPresentationController.permittedArrowDirections = UIPopoverArrowDirectionDown;
    popoverPresentationController.sourceView = self.viewForButtonForChapters;
    popoverPresentationController.backgroundColor = [UIColor whiteColor];
    popoverPresentationController.sourceRect = self.viewForButtonForChapters.bounds;
    }


    - (void)showChaptersView
    {
    [self setUpPopoverForViewForChapters];

    [self presentViewController:self.menuForChaptersVC
    animated:YES
    completion:nil];

    }
  • CéroceCéroce Membre, Modérateur
    OK, c'est du standard.

    Que se passe-t-il si tu désactives ça:

    popoverPresentationController.backgroundColor = [UIColor whiteColor];
    Et sinon, je ne dis pas que ça vient de là , mais il n'est pas habituel de garder le popover en mémoire une fois qu'il n'est plus affiché.
  • colas_colas_ Membre
    janvier 2017 modifié #5

    J'ai testé : ça ne change rien.


    En fait, si je mets à  [UIColor clearColor], je n'ai plus de bug d'animation mais je n'ai plus de flèche.


     


    Qu'est-ce qui te fait dire que je garde le popover en mémoire ? Tu parles du popoverController ?


  • PS : j'ai aussi ça dans mon code



    - (UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controller
    {
    return UIModalPresentationNone;
    }

    /*
    Thanks: https://github.com/soberman/ARSPopover
    */
    - (UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controller traitCollection:(UITraitCollection *)traitCollection
    {
    // This method is called in iOS 8.3 or later regardless of trait collection, in which case use the original presentation style (UIModalPresentationNone signals no adaptation)
    return UIModalPresentationNone;
    }

  • J'ai trouvé !


    Voilà  la ligne coupable !



    popoverPresentationController.permittedArrowDirections = UIPopoverArrowDirectionDown;

    C'est Up qu'il fallait !


Connectez-vous ou Inscrivez-vous pour répondre.