Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- screenBounds = [[UIScreen mainScreen] bounds];
- scrollTitle = [[NSMutableArray alloc]initWithObjects:@"Alerts",@"Profile",@"Help",nil];
- tabBarArray = [[NSMutableArray alloc]initWithObjects:@"Alerts",@"Profile",@"Help",nil];
- // Do any additional setup after loading the view from its nib.
- currentPage = 0;
- segmentedControll = [[HMSegmentedControl alloc] initWithSectionTitles:@[@"Alerts",@"Profile",@"Help"]];
- segmentedControll.backgroundColor = [UIColor colorWithRed:227/255.0 green:230/255.0 blue:230/255.0 alpha:1.0];
- [segmentedControll setFrame:CGRectMake(0, 46, 320, 40)];
- [segmentedControll setSelectedSegmentIndex:1];
- containerView = [[HMSegmentedControlContainerView alloc] initWithHMSegmentedControl:segmentedControll andMinimumWIdth:107];
- containerView.scrollView.showsHorizontalScrollIndicator=0;
- __weak typeof(self) weakSelf = self;
- [segmentedControll setIndexChangeBlock:^(NSInteger index) {
- [weakSelf.menuScrollView scrollRectToVisible:CGRectMake(320 * index, 0, 320, 200) animated:YES];
- }];
- [self.view addSubview:containerView];
- totalNoOfSegment=3;
- currentPage=segmentedControll.selectedSegmentIndex;
- self.menuScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 87, 320, 373)];
- [self.menuScrollView setBackgroundColor:[UIColor colorWithRed:0.7 green:0.7 blue:0.7 alpha:1]];
- [self.menuScrollView setPagingEnabled:YES];
- [self.menuScrollView setShowsHorizontalScrollIndicator:NO];
- [self.menuScrollView setContentSize:CGSizeMake(960, 200)];
- [self.menuScrollView scrollRectToVisible:CGRectMake(320, 0, 320, 200) animated:NO];
- [self.menuScrollView setDelegate:self];
- [self.view addSubview:self.menuScrollView];
- UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 373)];
- [label1 setText:@"Alerts"];
- label1.textColor = [UIColor blackColor];
- label1.backgroundColor = [UIColor whiteColor];
- label1.textAlignment = NSTextAlignmentCenter;
- [self.menuScrollView addSubview:label1];
- UILabel *label2 = [[UILabel alloc] initWithFrame:CGRectMake(320, 0, 320, 373)];
- [label2 setText:@"Profile"];
- label2.textColor = [UIColor blackColor];
- label2.backgroundColor = [UIColor whiteColor];
- label2.textAlignment = NSTextAlignmentCenter;
- [self.menuScrollView addSubview:label2];
- UILabel *label3 = [[UILabel alloc] initWithFrame:CGRectMake(640, 0, 320, 373)];
- [label3 setText:@"Help"];
- label3.textColor = [UIColor blackColor];
- label3.backgroundColor = [UIColor whiteColor];
- label3.textAlignment = NSTextAlignmentCenter;
- [self.menuScrollView addSubview:label3];
- self.panGestureLeft=[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(panTableView:)];
- self.panGestureLeft.direction=UISwipeGestureRecognizerDirectionLeft ;
- [self.menuScrollView addGestureRecognizer:self.panGestureLeft];
- self.panGestureRight=[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(panTableView:)];
- self.panGestureRight.direction=UISwipeGestureRecognizerDirectionRight ;
- [self.menuScrollView addGestureRecognizer:self.panGestureRight];
- }
- - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView1 {
- CGFloat pageWidth = self.menuScrollView.frame.size.width;
- NSInteger page = self.menuScrollView.contentOffset.x / pageWidth;
- [segmentedControll setSelectedSegmentIndex:page animated:YES];
- }
- -(void)panTableView:(UISwipeGestureRecognizer *)pan{
- if (pan.state==UIGestureRecognizerStateEnded) {
- int curr=currentPage;
- if (pan==self.panGestureLeft)
- {
- // user dragged towards the right
- curr=curr+1;
- if (curr!=3) {
- CATransition *transition = [CATransition animation];
- transition.duration = 0.35;
- transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
- transition.type = kCATransitionPush;
- transition.subtype =kCATransitionFromRight;
- transition.delegate = self;
- [self.menuScrollView.layer addAnimation:transition forKey:nil];
- segmentedControll.selectedSegmentIndex=curr;
- [self segmentedControlChangedValue:segmentedControll];
- }
- }
- else if (pan==self.panGestureRight)
- {
- // user dragged towards the left
- curr=curr-1;
- if (curr!=-1) {
- CATransition *transition = [CATransition animation];
- transition.duration = 0.35;
- transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
- transition.type = kCATransitionPush;
- transition.subtype =kCATransitionFromLeft;
- transition.delegate = self;
- [self.menuScrollView.layer addAnimation:transition forKey:nil];
- segmentedControll.selectedSegmentIndex=curr;
- [self segmentedControlChangedValue:segmentedControll];
- }
- }
- }
- }
- - (void)segmentedControlChangedValue:(HMSegmentedControl *)segmentedControl {
- NSLog(@"Selected index %i (via UIControlEventValueChanged)", segmentedControl.selectedSegmentIndex);
- currentPage=segmentedControl.selectedSegmentIndex;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement