ModelNewFeatureController.m 6.0 KB

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