ModelNewFeatureController.m 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. //
  2. // ModelNewFeatureController.m
  3. // model
  4. //
  5. // Created by JuYi on 2018/7/18.
  6. // Copyright © 2018年 Mine. All rights reserved.
  7. // 新特性
  8. #import "ModelNewFeatureController.h"
  9. #import "ModelRootViewController.h"
  10. #import "ModelNavigationController.h"
  11. #import "LoginViewController.h"
  12. #import "MineController.h"
  13. #import "SMPageControl.h"
  14. #define newFeatrueImageCount 3
  15. @interface ModelNewFeatureController ()<UIScrollViewDelegate>
  16. @property (nonatomic, weak) SMPageControl *pageControll;
  17. @property (nonatomic, weak) UIScrollView *scrollView;
  18. @end
  19. @implementation ModelNewFeatureController
  20. - (void)viewWillAppear:(BOOL)animated {
  21. [super viewWillAppear:animated];
  22. self.navigationController.navigationBar.hidden = YES;
  23. }
  24. - (void)viewWillDisappear:(BOOL)animated {
  25. [super viewWillDisappear:animated];
  26. self.navigationController.navigationBar.hidden = NO;
  27. }
  28. - (void)viewDidLoad {
  29. [super viewDidLoad];
  30. // Do any additional setup after loading the view.
  31. self.view.backgroundColor = [UIColor whiteColor];
  32. [self setupScrollView];
  33. [self setupPageControl]; //圆点
  34. }
  35. - (void)didReceiveMemoryWarning {
  36. [super didReceiveMemoryWarning];
  37. // Dispose of any resources that can be recreated.
  38. }
  39. //添加UIScrollView
  40. - (void)setupScrollView {
  41. UIScrollView *scrollView = [[UIScrollView alloc] init];
  42. if (@available(iOS 11.0, *) ) {
  43. scrollView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
  44. }else{
  45. self.automaticallyAdjustsScrollViewInsets = NO;
  46. }
  47. scrollView.frame = CGRectMake(0, 0, ScreenWidth, ScreenHeight);
  48. [self.view addSubview:scrollView];
  49. scrollView.delegate = self;
  50. //给scrollView 添加图片
  51. for (int i = 0; i < newFeatrueImageCount; i ++) {
  52. UIImageView *imageView = [[UIImageView alloc] init];
  53. imageView.frame = CGRectMake(ScreenWidth * i, 0, ScreenWidth, ScreenHeight);
  54. NSString *name = [NSString stringWithFormat:@"yindao%d",i + 1];
  55. [imageView setImage:[UIImage imageNamed:name]];
  56. [scrollView addSubview:imageView];
  57. //处理最后一个imageView
  58. if (i == newFeatrueImageCount - 1) {
  59. [self setupLastImageView:scrollView];
  60. }
  61. }
  62. //设定scrollView的contentSize和其他属性
  63. scrollView.contentSize = CGSizeMake(newFeatrueImageCount * ScreenWidth, ScreenHeight);
  64. scrollView.pagingEnabled = YES; //自动分页属性打开
  65. scrollView.bounces = NO; //边缘的弹力拉伸效果 关闭
  66. scrollView.showsHorizontalScrollIndicator = NO; //水平方向的滚动条指示器关闭
  67. // self.scrollView = scrollView;
  68. }
  69. //处理最后一个ImageView
  70. - (void)setupLastImageView:(UIScrollView *)scrollView {
  71. //添加开始按钮
  72. UIButton *startButton = [UIButton buttonWithType:(UIButtonTypeSystem)];
  73. startButton.frame = CGRectMake( ScreenWidth * 2 + ScreenWidth / 2 - 75, ScreenHeight - (Height_TabBar_Safe) - 106, 150, 44);
  74. startButton.backgroundColor = RGBValueColor(0x4B93F5, 1.0);
  75. startButton.layer.cornerRadius = 22;
  76. startButton.clipsToBounds = YES;
  77. [startButton setTitle:@"立即开启" forState:(UIControlStateNormal)];
  78. [startButton setTitleColor:[UIColor whiteColor] forState:(UIControlStateNormal)];
  79. startButton.titleLabel.textAlignment = NSTextAlignmentCenter;
  80. startButton.titleLabel.font = [UIFont boldSystemFontOfSize:17];
  81. [scrollView addSubview:startButton];
  82. [startButton addTarget:self action:@selector(startUsing) forControlEvents:(UIControlEventTouchUpInside)];
  83. }
  84. //添加UIPageControl
  85. - (void)setupPageControl {
  86. SMPageControl *pageControl = [[SMPageControl alloc] initWithFrame:CGRectMake(0.25 * ScreenWidth, ScreenHeight - 40 - (Height_TabBar_Safe), 0.5 * ScreenWidth, 30)];
  87. // pageControl.backgroundColor = [UIColor redColor];
  88. pageControl.indicatorMargin = 8.0f;
  89. pageControl.indicatorDiameter = 7.0f;
  90. pageControl.numberOfPages = newFeatrueImageCount;
  91. [pageControl setCurrentPage:0];
  92. // pageControl.center = CGPointMake(self.view.width * 0.5, self.view.height * 0.95);
  93. //设置pageControl的其他属性
  94. [pageControl setPageIndicatorTintColor:RGBValueColor(0xD3E6FF, 1.0)];
  95. [pageControl setCurrentPageIndicatorTintColor:RGBValueColor(0x4B93F5, 1.0)];
  96. // [pageControl setPageIndicatorImage:[UIImage imageNamed:@"yindaoye-pagecontrol-yuan"]];
  97. // [pageControl setCurrentPageIndicatorImage:[UIImage imageNamed:@"home_btn_Add to_sd"]];
  98. // yindaoye-pagecontrol-fang
  99. [self.view addSubview:pageControl];
  100. self.pageControll = pageControl;
  101. }
  102. - (void)startUsing {
  103. NSUserDefaults *user = [NSUserDefaults standardUserDefaults];
  104. NSString *accid = [user objectForKey:@"accid"];
  105. NSString *token = [user objectForKey:@"token"];
  106. //如果有缓存用户名密码推荐使用自动登录
  107. if ([accid length] && [token length])
  108. {
  109. NIMAutoLoginData *loginData = [[NIMAutoLoginData alloc] init];
  110. loginData.account = accid;
  111. loginData.token = token;
  112. [Helper sharedAccount].accid = accid;
  113. [Helper sharedAccount].token = token;
  114. [[[NIMSDK sharedSDK] loginManager] autoLogin:loginData];
  115. ModelRootViewController *mineVc = [[ModelRootViewController alloc] init];
  116. UIApplication *application = [UIApplication sharedApplication];
  117. UIWindow *window = application.keyWindow;
  118. window.rootViewController = mineVc;
  119. }
  120. else
  121. {
  122. LoginViewController *loginController = [[LoginViewController alloc] init];
  123. UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:loginController];
  124. UIApplication *application = [UIApplication sharedApplication];
  125. UIWindow *window = application.keyWindow;
  126. window.rootViewController = nav;
  127. }
  128. }
  129. #pragma mark -----UIScrollViewDelegate
  130. -(void)scrollViewDidScroll:(UIScrollView *)scrollView {
  131. CGFloat doublePage = scrollView.contentOffset.x/scrollView.mj_w;
  132. int intPage = (int)(doublePage + 0.5); //四舍五入
  133. self.pageControll.currentPage = intPage;
  134. }
  135. @end