你的位置:首页 > 操作系统

[操作系统]IOS 欢迎页(UIScrollView,UIPageControl)


本文介绍了app欢迎页的简单实现。只有第一次运行程序时才说会出现,其余时间不会出现。下面是效果图。

代码如下:(如有不明白的可以评论我,我会详细讲解)

//// ViewController.m// CX IOS欢迎页//// Created by ma c on 16/3/18.// Copyright © 2016年 xubaoaichiyu. All rights reserved.//#import "ViewController.h"@interface ViewController ()<UIScrollViewDelegate>@property (nonatomic, strong) UIScrollView * scrollView;@property (nonatomic, strong) UIPageControl * pageControl;@end@implementation ViewController#pragma mark - life- (void)viewDidLoad {  [super viewDidLoad];  //判断是否是第一次运行程序  NSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults];//  [userDefaults removeObjectForKey:@"FirstLoad"];  if ([userDefaults objectForKey:@"FirstLoad"] == nil) {    [userDefaults setBool:NO forKey:@"FirstLoad"];    [self loadScrollView];  }      }#pragma mark - deleDate-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{    CGPoint point = self.scrollView.contentOffset;    NSInteger current = point.x / self.view.frame.size.width;    self.pageControl.currentPage = current;  }#pragma mark - function-(void)loadScrollView{    CGRect rect = [UIScreen mainScreen].bounds;    self.scrollView = [[UIScrollView alloc]initWithFrame:rect];  //分页  self.scrollView.pagingEnabled = YES;    self.scrollView.delegate = self;    self.scrollView.showsHorizontalScrollIndicator = NO;    self.scrollView.showsVerticalScrollIndicator = NO;  //scrollView滚动区域大小  self.scrollView.contentSize = CGSizeMake(rect.size.width * 4, rect.size.height);    for (NSInteger i = 0; i < 4; i ++) {        UIImageView * imageView = [[UIImageView alloc]init];        imageView.frame = CGRectMake(i * rect.size.width, 0, rect.size.width, rect.size.height);    //为了区别imageView而又简单操作,建立随机颜色。    imageView.backgroundColor = [UIColor colorWithRed:arc4random() % 255 / 255.f green:arc4random() % 255 / 255.f blue:arc4random() % 255 / 255.f alpha:1];    [self.scrollView addSubview:imageView];        //添加开启软件    UIButton * removeBUtton = [UIButton buttonWithType:UIButtonTypeCustom];        removeBUtton.frame = CGRectMake(150 + 3 * rect.size.width, rect.size.height * 0.7, rect.size.width - 300, 30);        [removeBUtton setTitle:@"开启旅行" forState:UIControlStateNormal];        [removeBUtton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];        removeBUtton.backgroundColor = [UIColor orangeColor];        [removeBUtton addTarget:self action:@selector(start) forControlEvents:UIControlEventTouchUpInside];        [self.scrollView addSubview:removeBUtton];  }    [self.view addSubview:self.scrollView];    [self loadPageControl];  }-(void)start{    [self.pageControl removeFromSuperview];    [self.scrollView removeFromSuperview];  }-(void)loadPageControl{    CGRect rect = [UIScreen mainScreen].bounds;    self.pageControl = [[UIPageControl alloc]init];    self.pageControl.numberOfPages = 4;    CGSize pageControlSize = [self.pageControl sizeForNumberOfPages:4];    self.pageControl.frame = CGRectMake((rect.size.width - pageControlSize.width) / 2, rect.size.height * 0.8, pageControlSize.width, pageControlSize.height);    self.pageControl.currentPage = 0;    self.pageControl.currentPageIndicatorTintColor = [UIColor greenColor];    self.pageControl.pageIndicatorTintColor = [UIColor grayColor];    [self.view addSubview:self.pageControl];    [self.view bringSubviewToFront: self.pageControl];  }@end