// // ViewController.m // JSJPCoach // // Created by apple on 2017/3/10. // Copyright © 2017年 Danson. All rights reserved. // #import "ViewController.h" #import "PersonalVC.h" #import "PeriodVC.h" #import "ExploreVC.h" #import "ModelVC.h" #import "PeriodStuCell.h" #import "DES3Util.h" #import "LoginVC.h" #import "BindVC.h" #import "STButton.h" @interface ViewController () { UIView *btnBar; //分段选择器下方的滚动条。 CGFloat periodViewH; CGPoint lastOffset; //保存scroll主页面。最后一次滚动的offset } @property(nonatomic,strong)UIScrollView *mainScroll; /**分段选择器的按钮 */ @property(nonatomic,strong)NSMutableArray *segBtnArray; /**用于使scroll和按钮联动 */ @property(nonatomic,assign)NSInteger pageIndex; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; UIImageView *backImageView = [[UIImageView alloc] initWithFrame:kFrame]; backImageView.image = [UIImage imageNamed:@"bgImage"]; [self.view addSubview:backImageView]; UIImageView *statusImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, kSize.width, kStatusHeight + kSegmentHeight)]; statusImageView.backgroundColor = RGB_COLOR(7, 11, 24); [backImageView addSubview:statusImageView]; periodViewH = (kSize.height-SafeAreaBottomHeight)/6.0; _pageIndex = 1; self.periodType = 0; //选择框 NSArray *segTitleArray = @[@"我",@"预约",@"发现"]; CGFloat segW = kSize.width/(segTitleArray.count); _segBtnArray = [NSMutableArray arrayWithCapacity:3]; for (int i = 0; i<3; i ++) { UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(segW*i,kStatusHeight,segW,kSegmentHeight)]; if (i == 1) { [button setImage:[UIImage imageNamed:@"carIcon"] forState:UIControlStateNormal]; [button setImage:[[UIImage imageNamed:@"carIcon"] tint:defGreen] forState:UIControlStateSelected]; [button setImageEdgeInsets:UIEdgeInsetsMake(2, (segW - 40)/2.0, 2, (segW - 40)/2.0)]; button.selected = YES; }else{ [button setTitle:[segTitleArray objectAtIndex:i] forState:UIControlStateNormal]; [button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; [button setTitleColor:defGreen forState:UIControlStateSelected]; [button.titleLabel setFont:[UIFont scaleSize:Font18]]; } [button addTarget:self action:@selector(segSelected:) forControlEvents:UIControlEventTouchUpInside]; [button setTag:i]; [self.view addSubview:button]; [_segBtnArray addObject:button]; } btnBar = [[UIView alloc] initWithFrame:CGRectMake(segW + 20, kStatusHeight + kSegmentHeight - 3, segW - 40, 3)]; [btnBar setBackgroundColor:defGreen]; [self.view addSubview:btnBar]; //mainScroll CGFloat mainScrH = kSize.height - kNavOffSet - SafeAreaBottomHeight;//- periodViewH _mainScroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, kNavOffSet, kSize.width, mainScrH)]; _mainScroll.delegate = self; [_mainScroll setShowsHorizontalScrollIndicator:NO]; [self.view addSubview:_mainScroll]; PersonalVC *personalVC = [[PersonalVC alloc] initWithScrFrame:CGRectMake(0, 0, kSize.width, mainScrH)]; [self addChildViewController:personalVC]; [_mainScroll addSubview:personalVC.view]; PeriodVC *periodVC = [[PeriodVC alloc] init]; periodVC.view.frame = CGRectMake(kSize.width, 0, kSize.width, mainScrH); [self addChildViewController:periodVC]; [_mainScroll addSubview:periodVC.view]; ExploreVC * exploreVC = [[ExploreVC alloc] initWithScrFrame:CGRectMake(kSize.width*2, 0, kSize.width, mainScrH)]; [self addChildViewController:exploreVC]; [_mainScroll addSubview:exploreVC.view]; [_mainScroll setContentSize:CGSizeMake(kSize.width * _mainScroll.subviews.count, 0)]; [_mainScroll setContentOffset:CGPointMake(kSize.width, _mainScroll.contentOffset.y) animated:NO]; [_mainScroll setPagingEnabled:YES]; [_mainScroll setDecelerationRate:.2]; //用于使scroll快速完成减速 } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; self.navigationController.navigationBarHidden = YES; } -(void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; self.navigationController.navigationBarHidden = NO; } #pragma mark scroll & 滑动按钮 -(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{ if (_mainScroll == scrollView) { lastOffset = scrollView.contentOffset; NSInteger pInd = (int)(lastOffset.x / kSize.width); if (pInd == self.pageIndex) { return;//滑动不足切换页面 } self.pageIndex = pInd; } } //分段按钮,和scroll联动 -(void)segSelected:(UIButton*)sender { if (sender.tag == self.pageIndex) { return; } self.pageIndex = sender.tag; } -(void)setPageIndex:(NSInteger)pageIndex{ [_segBtnArray[_pageIndex] setSelected:NO]; _pageIndex = pageIndex; [_segBtnArray[_pageIndex] setSelected:YES]; //为了实现循环滚动 [_mainScroll setContentOffset:CGPointMake(kSize.width*pageIndex, _mainScroll.contentOffset.y) animated:NO]; CGSize size = btnBar.frame.size; [UIView animateWithDuration:.2 animations:^{ btnBar.frame = CGRectMake(kSize.width/_segBtnArray.count * _pageIndex + 20, btnBar.frame.origin.y, size.width, size.height); }]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end