RankController.m 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. //
  2. // RankController.m
  3. // model
  4. //
  5. // Created by Drew on 2018/11/2.
  6. // Copyright © 2018年 Mine. All rights reserved.
  7. //
  8. #import "RankController.h"
  9. #import "RankChildController.h"
  10. #import "TabControl.h"
  11. @interface RankController () <UIScrollViewDelegate, TabControlDelegate>
  12. @property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
  13. @property (nonatomic, strong) RankChildController* weekVC;
  14. @property (nonatomic, strong) RankChildController* monthVC;
  15. @property (weak, nonatomic) IBOutlet TabControl *tabControl;
  16. @end
  17. @implementation RankController
  18. - (void)viewDidLoad {
  19. [super viewDidLoad];
  20. self.scrollView.delegate = self;
  21. self.tabControl.delegate = self;
  22. self.weekVC = [[RankChildController alloc] init];
  23. self.weekVC.type = @"week";
  24. self.monthVC = [[RankChildController alloc] init];
  25. self.monthVC.type = @"month";
  26. [self addChildViewController:self.weekVC];
  27. [self addChildViewController:self.monthVC];
  28. self.weekVC.view.frame = CGRectMake(0, 0, ScreenWidth, self.scrollView.bounds.size.height);
  29. self.monthVC.view.frame = CGRectMake(ScreenWidth, 0, ScreenWidth, self.scrollView.bounds.size.height);
  30. [self.scrollView addSubview:self.weekVC.view];
  31. [self.scrollView addSubview:self.monthVC.view];
  32. }
  33. - (void)viewWillAppear:(BOOL)animated {
  34. [self.navigationController setNavigationBarHidden:YES animated:NO];
  35. }
  36. - (void)viewWillDisappear:(BOOL)animated {
  37. [self.navigationController setNavigationBarHidden:NO animated:YES];
  38. }
  39. - (void)viewDidLayoutSubviews {
  40. [super viewDidLayoutSubviews];
  41. self.weekVC.view.frame = CGRectMake(0, 0, ScreenWidth, self.scrollView.bounds.size.height);
  42. self.monthVC.view.frame = CGRectMake(ScreenWidth, 0, ScreenWidth, self.scrollView.bounds.size.height);
  43. CAGradientLayer *gl = [CAGradientLayer layer];
  44. gl.frame = self.view.bounds;
  45. gl.startPoint = CGPointMake(0.5, 0);
  46. gl.endPoint = CGPointMake(0.5, 0.98);
  47. gl.colors = @[(__bridge id)[UIColor colorWithRed:251/255.0 green:92/255.0 blue:163/255.0 alpha:1].CGColor, (__bridge id)[UIColor colorWithRed:253/255.0 green:127/255.0 blue:141/255.0 alpha:1].CGColor];
  48. gl.locations = @[@(0), @(1.0f)];
  49. [self.view.layer insertSublayer:gl atIndex:0];
  50. self.scrollView.contentSize = CGSizeMake(2 * [UIScreen mainScreen].bounds.size.width, 0);
  51. [self.weekVC.view layoutIfNeeded];
  52. [self.monthVC.view layoutIfNeeded];
  53. }
  54. - (IBAction)backClick:(id)sender {
  55. [self.navigationController popViewControllerAnimated:YES];
  56. }
  57. - (UIStatusBarStyle)preferredStatusBarStyle {
  58. return UIStatusBarStyleLightContent;
  59. }
  60. #pragma mark - UIScrollView Delegate
  61. - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
  62. int index = scrollView.contentOffset.x / scrollView.frame.size.width;
  63. self.tabControl.index = index;
  64. }
  65. #pragma mark -
  66. #pragma mark - TabControl Delegate
  67. - (void)tabChange:(NSInteger)index {
  68. [self.scrollView setContentOffset:CGPointMake(self.scrollView.frame.size.width * index, 0) animated:YES];
  69. }
  70. #pragma mark -
  71. @end