recherche

Maison  >  Questions et réponses  >  le corps du texte

objective-c - 新手求教网易新闻中效果实现

在网易新闻客户端中,具体一篇新闻里,用手势右滑,返回列表,左滑出现评论页,顶部的 navigation也能跟着一起动,这种效果怎么实现的,有具体实例更好,求教

PHPzPHPz2806 Il y a quelques jours986

répondre à tous(1)je répondrai

  • 黄舟

    黄舟2017-04-21 11:21:07

    Permettez-moi de vous expliquer comment implémenter cela sur iOS.

    Généralement, ce type d'application utilise un contrôleur de navigation, utilise une tableview pour afficher une liste de titres d'actualités et clique dessus pour afficher le texte de l'actualité.

    Votre question est de savoir comment implémenter le balayage vers la gauche et la droite, par exemple, dans la vue du texte d'actualité
    Ajouter

    dans viewDidLoad
    //........towards right Gesture recogniser for swiping.....//
        UISwipeGestureRecognizer *rightRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(rightSwipeHandle:)];
        rightRecognizer.direction = UISwipeGestureRecognizerDirectionRight;
        [rightRecognizer setNumberOfTouchesRequired:1];
        [self.view addGestureRecognizer:rightRecognizer];
        //[rightRecognizer release];
    
        //........towards left Gesture recogniser for swiping.....//
        UISwipeGestureRecognizer *leftRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(leftSwipeHandle:)];
        leftRecognizer.direction = UISwipeGestureRecognizerDirectionLeft;
        [leftRecognizer setNumberOfTouchesRequired:1];
        [self.view addGestureRecognizer:leftRecognizer];
        //[leftRecognizer release];
        [self.navigationController setNavigationBarHidden:YES animated:YES];
    

    Ensuite, définissez simplement l'implémentation du glissement gauche et droit (implémenté avec Segue dans iOS)

        - (void)rightSwipeHandle:(UISwipeGestureRecognizer*)gestureRecognizer
    {
        [self.navigationController popViewControllerAnimated:YES];
    }
    
    - (void)leftSwipeHandle:(UISwipeGestureRecognizer*)gestureRecognizer
    {
        [self performSegueWithIdentifier:@"forward" sender:self];
    }
    

    Ceci est une vignette du storyboard, où vous pouvez voir clairement la logique de l'ensemble de l'application.

    Au fait, j'ai écrit le prototype. Le code source est ici. Veuillez examiner attentivement le code source. J'espère qu'il vous sera utile.

    répondre
    0
  • Annulerrépondre