getter,setter/基础UEX-UI规范

LaunchImage,AppIcon和引导页

2016-11-10  本文已影响1306人  LennonLin

LaunchImage

屏幕快照 2016-11-10 上午10.05.08.png 屏幕快照 2016-11-10 上午10.08.28.png 屏幕快照 2016-11-10 上午9.39.48.png 屏幕快照 2016-11-10 上午9.37.48.png 屏幕快照 2016-11-10 上午9.38.28.png 屏幕快照 2016-11-10 上午9.38.55.png 屏幕快照 2016-11-10 上午10.44.38.png IMG_1622.PNG IMG_1623.PNG 屏幕快照 2016-11-10 上午9.53.46.png

AppIcon

引导页

#import "LXKGuideViewVC.h"
#import "B1_LXKLoginVC.h"
#import "LXKNavigationController.h"

// 分页控件的高度
static const NSUInteger kPageControlHeight = 120;

@interface LXKGuideViewVC () <UIScrollViewDelegate>

@property (nonatomic, strong) UIScrollView *guideViewScrollView; //引导页的滚动视图
@property (nonatomic, strong) UIPageControl *pageControl; //创建分页控件 监控当前页面和使页面一页页的翻动
@property (nonatomic, copy) NSArray *imageNameArray; // 引导页图片的名字

@end

@implementation LXKGuideViewVC

#pragma mark - Lifecycle

- (void)viewDidLoad {
    [super viewDidLoad];
    
    [self.view addSubview:self.guideViewScrollView];
    [self.view addSubview:self.pageControl];
    
    [self createGuideView];
}

#pragma mark - Custom Accessors

- (UIScrollView *)guideViewScrollView {
    if (!_guideViewScrollView) {
        _guideViewScrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds];
        _guideViewScrollView.bounces = NO;
        _guideViewScrollView.showsHorizontalScrollIndicator = NO;
        // 打开分页控件
        _guideViewScrollView.pagingEnabled = YES;
        _guideViewScrollView.delegate = self;
    }
    return _guideViewScrollView;
}

- (NSArray *)imageNameArray {
    if (!_imageNameArray) {
        _imageNameArray = @[@"GuideView1",@"GuideView2",@"GuideView3"];
    }
    return _imageNameArray;
}

- (UIPageControl *)pageControl {
    if (_pageControl) {
        _pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(0, SCREENHEIGHT - kPageControlHeight, SCREENWIDTH, kPageControlHeight)];
    }
    return _pageControl;
}

#pragma mark - privateMethod

- (void)createGuideView {
    
    self.guideViewScrollView.contentSize = CGSizeMake(SCREENWIDTH *  self.imageNameArray.count + SCREENWIDTH, SCREENHEIGHT);
    // 循环创建图片
    for (NSUInteger i = 0,count = self.imageNameArray.count; i < count; i++) {
        UIImage *image = [UIImage imageNamed:self.imageNameArray[i]];
        image = [self imageCompressWithSimple:image scaledToSize:CGSizeMake(SCREENWIDTH, SCREENHEIGHT)];
        UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(SCREENWIDTH * i, 0, SCREENWIDTH, SCREENHEIGHT)];
        imageView.image = image;
        [self.guideViewScrollView addSubview:imageView];
        self.pageControl.currentPage = 0;
        self.pageControl.numberOfPages = count;
    }
    
}

- (void)pushFirstPage {
    
    [LXKUserDefaultsTools userDefaultsSaveBool:YES key:@"isShowGuideView"];
    B1_LXKLoginVC *firstPage = [[B1_LXKLoginVC alloc] init];
    LXKNavigationController *nav = [[LXKNavigationController alloc] initWithRootViewController:firstPage];
    UIWindow *window = [[UIApplication sharedApplication].windows firstObject];
    window.rootViewController = nav;
}

// 缩放到指定大小
- (UIImage*)imageCompressWithSimple:(UIImage*)image scaledToSize:(CGSize)size
{
    UIGraphicsBeginImageContext(size);
    [image drawInRect:CGRectMake(0,0,size.width,size.height)];
    UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return newImage;
}

#pragma mark - UIScrollViewDelegate

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    if (scrollView == self.guideViewScrollView) {
        // 取到scrollView的偏移量好改变分页控件的currentPage
        CGFloat x = scrollView.contentOffset.x;
        // 根据偏移量四舍五入
        _pageControl.currentPage = lround(x / SCREENWIDTH);
        
        if (x > 2 * SCREENWIDTH) {
            
            [self pushFirstPage];
        }
    }
    
}

@end
上一篇 下一篇

猜你喜欢

热点阅读