2016-04-28 1 views
1

Ce que j'ai fait !!L'utilisateur peut soit glisser ou cliquer sur les boutons pour naviguer entre les vues Contrôleurs

1) Je peux glisser entre les contrôleurs de vue (View1 et View2) comme montrant dans l'image ci-dessous

Image 1

2) I Created bouton de remorquage en ContainerViewController qui permettra à l'utilisateur de cliquer sur chaque bouton pour naviguer entre ces deux pages [similaires au swipe mais celui-ci avec le bouton clic]

VOICI The Big Picture comment mon programme on dirait que dans l'image ci-dessous

Image 2

De quelle aide ai-je besoin?

1) Je veux que quelqu'un m'aide à implémenter ces deux boutons pour naviguer entre ces deux pages [Similaire au balayage]. En outre, l'utilisateur peut soit glisser ou cliquer sur les boutons pour naviguer entre les pages.

Ce sera mon plaisir de trouver quelqu'un ici qui est prêt à me aider et d'autres

1-ContainerViewController Je viens seulement créé deux boutons.

2- Vue1 et Vue2 Je n'ai effectué aucun codage ici.

3- ViewSwipe est ici Le code

#import "ScrollViewController.h" 
#import "View1.h" 
#import "View2.h" 

@interface ViewController() 
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView; 

@end 

@implementation ViewController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
    View1 * V1 = [[View1 alloc]initWithNibName:@"View1" bundle:nil]; 
    View2 * V2 = [[View2 alloc]initWithNibName:@"View2" bundle:nil]; 



    [self addChildViewController:V1]; 
    [self.scrollView addSubview:V1.view]; 
    [V1 didMoveToParentViewController:self]; 


    [self addChildViewController:V2]; 
    [self.scrollView addSubview:V2.view]; 
    [V2 didMoveToParentViewController:self]; 

    CGRect V2Frame = V2.view.frame; 
    V2Frame.origin.x= self.view.frame.size.width; 
    V2.view.frame = V2Frame; 

    self.scrollView.contentSize=CGSizeMake(self.view.frame.size.width * 2, self.view.frame.size.height); 

} 

- (void)didReceiveMemoryWarning { 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 

@end 
+0

vous pouvez utiliser le contrôleur de vue tabbar pour balayer la vue? – iOS

+0

@DarjiJigar est-il un exemple qui montre comment utiliser le contrôleur de vue tabber pour balayage –

+0

Possible duplication de [commutant des contrôleurs de vue en utilisant des gestes de balayage] (http://stackoverflow.com/questions/17312700/switching-view-controllers-using- glisser-gestes) –

Répondre

2

Vous pouvez obtenir que Darji dit en utilisant UISwipeGestureRecognizer

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    UISwipeGestureRecognizer *leftToRightGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(leftToRightSwipeDidFire)]; 
    leftToRightGesture.direction = UISwipeGestureRecognizerDirectionRight; 
    [self.tabBarController.tabBar addGestureRecognizer:leftToRightGesture]; 

    UISwipeGestureRecognizer *rightToLeftGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(rightToLeftSwipeDidFire)]; 
    rightToLeftGesture.direction = UISwipeGestureRecognizerDirectionLeft; 
    [self.tabBarController.tabBar addGestureRecognizer:rightToLeftGesture]; 
} 


- (void)leftToRightSwipeDidFire { 
    UITabBar *tabBar = self.tabBarController.tabBar; 
    NSInteger index = [tabBar.items indexOfObject:tabBar.selectedItem]; 
    if (index > 0) { 
     self.tabBarController.selectedIndex = index - 1; 
    } else { 
     return; 
    } 
} 
0

essayer ce code afin que vous puissiez glisser la barre d'onglets

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    UISwipeGestureRecognizer *leftToRightGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(leftToRightSwipeDidFire)]; 
    leftToRightGesture.direction = UISwipeGestureRecognizerDirectionRight; 
    [self.tabBarController.tabBar addGestureRecognizer:leftToRightGesture]; 

    UISwipeGestureRecognizer *rightToLeftGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(rightToLeftSwipeDidFire)]; 
    rightToLeftGesture.direction = UISwipeGestureRecognizerDirectionLeft; 
    [self.tabBarController.tabBar addGestureRecognizer:rightToLeftGesture]; 
} 


- (void)leftToRightSwipeDidFire { 
    UITabBar *tabBar = self.tabBarController.tabBar; 
    NSInteger index = [tabBar.items indexOfObject:tabBar.selectedItem]; 
    if (index > 0) { 
     self.tabBarController.selectedIndex = index - 1; 
    } else { 
     return; 
    } 
} 
- (void)rightToLeftSwipeDidFire { 
    UITabBar *tabBar = self.tabBarController.tabBar; 
    NSInteger index = [tabBar.items indexOfObject:tabBar.selectedItem]; 
    if (index < tabBar.items.count - 1) { 
     self.tabBarController.selectedIndex = index + 1; 
    } else { 
     return; 
    } 
}